
    (ph($                        S r SSKrSSKJr  SSKJrJr   S4S jr S5S jr	\	r
 S6S jr\r S7S jrS7S	 jr S8S
 jr S8S jrS9S 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S@S jr SAS jrS9S jr\r S r! S8S jr" S:S jr# S9S jr$S9S jr% SBS jr&SBS jr'S9S  jr(S! r)S9S" jr*S9S# jr+S:S$ jr,\,r-\,r.SBS% jr/\/r0\/r1\/r2\/r3\/r4\/r5\/r6\/r7\/r8\/r9\9r: S8S& jr;\;r<\;r= SCS' jr>\>r?\>r@\>rA\>rB\>rC\>rD\>rE S8S( jrFS:S) jrG\GrH S8S* jrI SDS+ jrJS9S, jrKS-\R                  4S. jrMS-S\R                  4S/ jrNSES0 jrOS1 rPSBS2 jrQS9S3 jrRg)Fa  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_skip_if_intc                 ,    [        X[        U5      5      $ Nr   r   )inputmatrixoffsetoutput_shapeoutputargskwdss          L/var/www/html/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-CT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     5j.:PQQr   c                 .    [        XU[        U5      5      $ r   r	   )r
   r   r   r   r   r   s         r   binary_propagation_signaturer'   E   s     5T>&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_signaturer7   W        5W55r   c                     [        XU5      $ r   r   )r
   r1   r3   r4   r5   r6   s         r    distance_transform_cdt_signaturer:   ^   r8   r   c                     [        XU5      $ r   r   )r
   r2   r3   r4   r5   r6   s         r    distance_transform_edt_signaturer<   e   r8   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_signaturerC   p       5."899r   c                 ,    [        U [        U5      5      $ r   r	   )r
   sigmarB   r.   r   s        r   fourier_gaussian_signaturerG   v   rD   r   c                 ,    [        U [        U5      5      $ r   r	   )r
   shiftrB   r.   r   s        r   fourier_shift_signaturerJ   y   rD   r   c                 ,    [        U [        U5      5      $ r   r	   )r
   rF   orderr   r   r   s         r   gaussian_filter_signaturerM   }   rD   r   c                 ,    [        U [        U5      5      $ r   r	   )r
   rF   r.   rL   r   r   r   s          r   gaussian_filter1d_signaturerO           5."899r   c                 ,    [        U [        U5      5      $ r   r	   )r
   rF   r   r   r   s        r   %gaussian_gradient_magnitude_signaturerR      rD   r   c                     [         $ r   )np)rankconnectivitys     r   #generate_binary_structure_signaturerW      s    Ir   c                 ,    [        X[        U5      5      $ r   r	   )r
   functionrA   	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^      rP   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      rP   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      rD   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
   rA   r.   r   r   r   s         r   maximum_filter1d_signaturerz      rD   r   c                 ,    [        X[        U5      5      $ r   )r   r   )r
   rl   rm   s      r   maximum_signaturer|      s    5,u*=>>r   c                 ,    [        X[        U5      5      $ r   r	   )r
   rA   rZ   r   r   r   s         r   median_filter_signaturer~      r   r   c                 .    [        XU[        U5      5      $ r   r	   )r
   rA   rZ   r   r   r   r   s          r    morphological_gradient_signaturer      s     5Yv8NOOr   c                 ,    [        X[        U5      5      $ r   r	   )r
   
percentilerA   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      rD   r   c                 ,    [        X[        U5      5      $ r   r	   )r
   rU   rA   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     rP   r   c                 ,    [        U [        U5      5      $ r   r	   )r
   rI   r   r   r   s        r   shift_signaturer     rD   r      c                 ,    [        U [        U5      5      $ r   r	   )r
   rL   r   r   r   s        r   spline_filter_signaturer     rD   r   c                 ,    [        U [        U5      5      $ r   r	   )r
   rL   r.   r   r   r   s         r   spline_filter1d_signaturer     rP   r   c                 ,    [        U [        U5      5      $ r   r	   )r
   rA   r   r   r   s        r   uniform_filter_signaturer     rD   r   c                     [        U 5      $ r   r   )arrr   r   s      r   value_indices_signaturer     s    3r   c                 .    [        XU[        U5      5      $ r   r	   )r
   markersr   r   s       r   watershed_ift_signaturer   #  s    59nV6LMMr   c                 ,    [        U [        U5      5      $ r   r	   )r
   zoomr   r   r   s        r   zoom_signaturer   '  rD   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__numpyrT   scipy._lib._array_apir   scipy.ndimage._ni_supportr   r   r   r   binary_opening_signaturer   binary_erosion_signaturer   r!   r%   r'   r*   correlate_signaturer/   correlate1d_signaturer7   r:   r<   r?   rC   fourier_uniform_signaturerG   rJ   rM   rO   rR   gaussian_laplace_signaturerW   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   <module>r      sQ  2  1 B :>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 ? & $ "& 0 ( !. . % ,  .2E
 3 2  >BP
 #C 9 9 9 : 9 9  :>E: $ 48E 59:: *+2:: :
 BJJ:: N:r   