
    Yh$                     T   d Z ddlZddlmZ ddlmZ 	 d<dZ	 d=dZeZ		 d>d	Z
e
Z	 d?d
Zd?dZ	 d@dZ	 d@dZdAdZeZdBdZeZ	 	 dCdZ	 	 dDdZ	 	 dEdZdFdZdGdZeZdGdZdGdZdHdZ	 dIdZdAdZeZd Z 	 d@d Z!	 dBd!Z"	 dAd"Z#dAd#Z$	 dJd$Z%dJd%Z&dAd&Z'd' Z(dAd(Z)dAd)Z*dBd*Z+e+Z,e+Z-dJd+Z.e.Z/e.Z0e.Z1e.Z2e.Z3e.Z4e.Z5e.Z6e.Z7e.Z8e8Z9	 d@d,Z:e:Z;e:Z<	 dKd-Z=e=Z>e=Z?e=Z@e=ZAe=ZBe=ZCe=ZD	 d@d.ZEdBd/ZFeFZG	 d@d0ZH	 dLd2ZIdAd3ZJd4ejK        fd5ZLd4dejK        fd6ZMdMd7ZNd8 ZO	 d@d9ZPdJd:ZQdAd;ZRdS )Na  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_dtype        c                 >    t          | |t          |                    S Nr   r   )inputmatrixoffsetoutput_shapeoutputargskwdss          k/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/scipy/ndimage/_delegators.pyaffine_transform_signaturer      s     5&.*@*@AAA       c                 >    t          | |t          |                    S r   r	   )r
   	structure
iterationsr   r   r   s         r   binary_closing_signaturer   %        5)^F-C-CDDDr   c                 @    t          | |t          |          |          S r   r	   )r
   r   r   maskr   r   r   s          r   binary_dilation_signaturer   -   s      5)^F-C-CTJJJr   c                 >    t          | |t          |                    S r   r	   )r
   r   r   originr   kwargss         r   binary_fill_holes_signaturer    5   r   r   c                 >    t          | |t          |                    S r   r	   )r
   r   r   r   s       r   label_signaturer"   ;   s    5)^F-C-CDDDr   c                 @    t          | ||t          |                    S r   r	   )r
   
structure1
structure2r   r   r   s         r   binary_hit_or_miss_signaturer&   ?   s      5*j.:P:PQQQr   c                 @    t          | ||t          |                    S r   r	   )r
   r   r   r   r   r   s         r   binary_propagation_signaturer(   E   s      5)T>&3I3IJJJr   c                 >    t          | |t          |                    S r   r	   )r
   weightsr   r   r   s        r   convolve_signaturer+   K       5'>&+A+ABBBr   c                 >    t          | |t          |                    S r   r	   )r
   r*   axisr   r   r   s         r   convolve1d_signaturer0   Q   r,   r   	euclideanTFc                 $    t          | ||          S r   r   )r
   metricsamplingreturn_distancesreturn_indices	distancesindicess          r   distance_transform_bf_signaturer9   W        5)W555r   
chessboardc                 $    t          | ||          S r   r   )r
   r3   r5   r6   r7   r8   s         r    distance_transform_cdt_signaturer=   ^   r:   r   c                 $    t          | ||          S r   r   )r
   r4   r5   r6   r7   r8   s         r    distance_transform_edt_signaturer?   e   r:   r   c                      t          |           S r   r   )r
   	max_labels     r   find_objects_signaturerB   l   s    5!!!r   c                 <    t          | t          |                    S r   r	   )r
   sizenr/   r   s        r   fourier_ellipsoid_signaturerF   p       5."8"8999r   c                 <    t          | t          |                    S r   r	   )r
   sigmarE   r/   r   s        r   fourier_gaussian_signaturerJ   v   rG   r   c                 <    t          | t          |                    S r   r	   )r
   shiftrE   r/   r   s        r   fourier_shift_signaturerM   y   rG   r   c                 <    t          | t          |                    S r   r	   )r
   rI   orderr   r   r   s         r   gaussian_filter_signaturerP   }   rG   r   c                 <    t          | t          |                    S r   r	   )r
   rI   r/   rO   r   r   r   s          r   gaussian_filter1d_signaturerR           5."8"8999r   c                 <    t          | t          |                    S r   r	   )r
   rI   r   r   r   s        r   %gaussian_gradient_magnitude_signaturerU      rG   r   c                     t           S r   )np)rankconnectivitys     r   #generate_binary_structure_signaturerZ      s    Ir   c                 >    t          | |t          |                    S r   r	   r
   functionrD   	footprintr   r   r   s          r   generic_filter_signaturer_      s     5)^F-C-CDDDr   c                 <    t          | t          |                    S r   r	   )r
   r]   filter_sizer/   r   r   r   s          r   generic_filter1d_signaturerb      rS   r   c                 <    t          | t          |                    S r   r	   )r
   
derivativer   r   r   s        r   $generic_gradient_magnitude_signaturere      s     5."8"8999r   c                 <    t          | t          |                    S r   r	   )r
   derivative2r   r   r   s        r   generic_laplace_signaturerh      s    5."8"8999r   c                 <    t          | t          |                    S r   r	   )r
   mappingr   r   r   r   s         r   geometric_transform_signaturerk      rS   r   c                 "    t          | |          S r   r   )r
   minmaxbinslabelsindexs         r   histogram_signaturerr          5&)))r   c                      t          |           S r   r   )r   r   r   s      r   iterate_structure_signatureru      s    9%%%r   c                 "    t          | |          S r   r   )r
   rp   r   r   s       r   labeled_comprehension_signaturerw      rs   r   c                 <    t          | t          |                    S r   r	   )r
   r   r   r   s       r   laplace_signaturery      rG   r   c                 >    t          | |t          |                    S r   r	   )r
   coordinatesr   r   r   s        r   map_coordinates_signaturer|      s    5+~f/E/EFFFr   c                 <    t          | t          |                    S r   r	   )r
   rD   r/   r   r   r   s         r   maximum_filter1d_signaturer~      rG   r   c                 $    t          | ||          S r   r   )r
   rp   rq   s      r   maximum_signaturer      s    5&%000r   c                 >    t          | |t          |                    S r   r	   )r
   rD   r^   r   r   r   s         r   median_filter_signaturer      r   r   c                 @    t          | ||t          |                    S r   r	   )r
   rD   r^   r   r   r   r   s          r    morphological_gradient_signaturer      s      5)Yv8N8NOOOr   c                 >    t          | |t          |                    S r   r	   )r
   
percentilerD   r^   r   r   r   s          r   percentile_filter_signaturer      r   r   c                 <    t          | t          |                    S r   r	   )r
   r/   r   r   r   s        r   prewitt_signaturer      rG   r   c                 >    t          | |t          |                    S r   r	   )r
   rX   rD   r^   r   r   r   s          r   rank_filter_signaturer     r   r   r   r   c                 <    t          | t          |                    S r   r	   )r
   angleaxesreshaper   r   r   s          r   rotate_signaturer     rS   r   c                 <    t          | t          |                    S r   r	   )r
   rL   r   r   r   s        r   shift_signaturer     rG   r      c                 <    t          | t          |                    S r   r	   )r
   rO   r   r   r   s        r   spline_filter_signaturer     rG   r   c                 <    t          | t          |                    S r   r	   )r
   rO   r/   r   r   r   s         r   spline_filter1d_signaturer     rS   r   c                 <    t          | t          |                    S r   r	   )r
   rD   r   r   r   s        r   uniform_filter_signaturer     rG   r   c                      t          |           S r   r   )arrr   r   s      r   value_indices_signaturer     s    3r   c                 >    t          | |t          |                    S r   r	   r\   s          r   vectorized_filter_signaturer   #  r   r   c                 @    t          | ||t          |                    S r   r	   )r
   markersr   r   s       r   watershed_ift_signaturer   )  s    5'9nV6L6LMMMr   c                 <    t          | t          |                    S r   r	   )r
   zoomr   r   r   s        r   zoom_signaturer   -  rG   r   )r   NN)Nr   N)Nr   NN)NNr   )NNNr   )r-   N)r1   NTFNN)r;   TFNN)NTFNN)r   )r-   r-   N)r   N)r-   r   N)NN)NNNN)r   TN)r   N)S__doc__numpyrW   scipy._lib._array_apir   scipy.ndimage._ni_supportr   r   r   binary_opening_signaturer   binary_erosion_signaturer    r"   r&   r(   r+   correlate_signaturer0   correlate1d_signaturer9   r=   r?   rB   rF   fourier_uniform_signaturerJ   rM   rP   rR   rU   gaussian_laplace_signaturerZ   r_   rb   re   rh   rk   rr   ru   rw   ry   r|   r~   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      sd   2     1 1 1 1 1 1 4 4 4 4 4 4 :>B B B B 15E E E E
 4  <@K K K K
 5  01E E E EE E E E
 59R R R R .2K K K KC C C C ) C C C C -  @D266 6 6 6 GL 6 6 6 6 AF 6 6 6 6" " " ": : : : 8 : : : :: : : :: : : :
 ,0: : : :: : : : C    8<E E E E 37: : : : #: : : :: : : : /3: : : :* * * *& & & &* * *: : : :G G G G: : : : 8 7 1 1 1 1 & $ "& 0 ( !. . % ,  .2E E E E
 3 2  >BP P P P
 #C 9 9 9 : 9 9  :>E E E E: : : : $ 48E E E E 59: : : :: : : : *+2: : : : :
 BJ: : : :: : : :     
 8<E E E EN N N N: : : : : :r   