
    9i$                        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          Y/var/www/html/land-doc-ocr/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_signaturer6   W        5W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     5Yv8N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    59nV6L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:: :
 BJJ:: 
 8<EN:r   