o
    `^h($                     @   s  d Z ddlZddlmZ ddlmZmZ 	dhddZ	did	d
Z	e	Z
	djddZeZ	dkddZdkddZ	dlddZ	dlddZdmddZeZdnddZeZ		doddZ		dpd d!Z		dqd"d#Zdrd$d%Zdsd&d'ZeZdsd(d)Zdsd*d+Zdtd,d-Z	dud.d/Zdmd0d1ZeZ d2d3 Z!	dld4d5Z"	dnd6d7Z#	dmd8d9Z$dmd:d;Z%	dvd<d=Z&dvd>d?Z'dmd@dAZ(dBdC Z)dmdDdEZ*dmdFdGZ+dndHdIZ,e,Z-e,Z.dvdJdKZ/e/Z0e/Z1e/Z2e/Z3e/Z4e/Z5e/Z6e/Z7e/Z8e/Z9e9Z:	dldLdMZ;e;Z<e;Z=	dwdNdOZ>e>Z?e>Z@e>ZAe>ZBe>ZCe>ZDe>ZE	dldPdQZFdndRdSZGeGZH	dldTdUZI	dxdWdXZJdmdYdZZKd[ejLfd\d]ZMd[dejLfd^d_ZNdyd`daZOdbdc ZPdvdddeZQdmdfdgZRdS )za  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_int        c                 O   s   t | |t|S Nr   r   )inputmatrixoffsetoutput_shapeoutputargskwds r   W/home/air/shanriGPT/back/venv/lib/python3.10/site-packages/scipy/ndimage/_delegators.pyaffine_transform_signature      r      c                 O      t | |t|S r   r   )r	   	structure
iterationsr   r   r   r   r   r   binary_closing_signature%   r   r   c                 O   s   t | |t||S r   r   )r	   r   r   maskr   r   r   r   r   r   binary_dilation_signature-      r   c                 O      t | |t|S r   r   )r	   r   r   originr   kwargsr   r   r   binary_fill_holes_signature5   r   r   c                 C   r   r   r   )r	   r   r   r   r   r   r   label_signature;      r    c                 O      t | ||t|S r   r   )r	   
structure1
structure2r   r   r   r   r   r   binary_hit_or_miss_signature?   r   r%   c                 O   r"   r   r   )r	   r   r   r   r   r   r   r   r   binary_propagation_signatureE   r   r&   c                 O   r   r   r   )r	   weightsr   r   r   r   r   r   convolve_signatureK   r!   r(   c                 O   r   r   r   )r	   r'   axisr   r   r   r   r   r   convolve1d_signatureQ   r!   r+   	euclideanTFc                 C   s   t | ||S r   r   )r	   metricsamplingreturn_distancesreturn_indices	distancesindicesr   r   r   distance_transform_bf_signatureW      r3   
chessboardc                 C      t | ||S r   r   )r	   r-   r/   r0   r1   r2   r   r   r    distance_transform_cdt_signature^   r4   r7   c                 C   r6   r   r   )r	   r.   r/   r0   r1   r2   r   r   r    distance_transform_edt_signaturee   r4   r8   c                 C      t | S r   r   )r	   	max_labelr   r   r   find_objects_signaturel      r;   c                 C      t | t|S r   r   )r	   sizenr*   r   r   r   r   fourier_ellipsoid_signaturep      r@   c                 C   r=   r   r   )r	   sigmar?   r*   r   r   r   r   fourier_gaussian_signaturev   rA   rC   c                 C   r=   r   r   )r	   shiftr?   r*   r   r   r   r   fourier_shift_signaturey   rA   rE   c                 O      t | t|S r   r   )r	   rB   orderr   r   r   r   r   r   gaussian_filter_signature}   rA   rH   c                 O   r=   r   r   )r	   rB   r*   rG   r   r   r   r   r   r   gaussian_filter1d_signature      rI   c                 O      t | t|S r   r   )r	   rB   r   r   r   r   r   r   %gaussian_gradient_magnitude_signature   rA   rL   c                 C   s   t S r   )np)rankconnectivityr   r   r   #generate_binary_structure_signature   s   rP   c                 O      t | |t|S r   r   )r	   functionr>   	footprintr   r   r   r   r   r   generic_filter_signature   s   rT   c                 O   r=   r   r   )r	   rR   filter_sizer*   r   r   r   r   r   r   generic_filter1d_signature   rJ   rV   c                 O   rK   r   r   )r	   
derivativer   r   r   r   r   r   $generic_gradient_magnitude_signature   s   rX   c                 O   rK   r   r   )r	   derivative2r   r   r   r   r   r   generic_laplace_signature   s   rZ   c                 O   rF   r   r   )r	   mappingr   r   r   r   r   r   r   geometric_transform_signature   rJ   r\   c                 C   s
   t | |S r   r   )r	   minmaxbinslabelsindexr   r   r   histogram_signature      
rb   c                 C   r9   r   r   )r   r   r   r   r   r   iterate_structure_signature   r<   rd   c                 O   s
   t | |S r   r   )r	   r`   r   r   r   r   r   labeled_comprehension_signature   rc   re   c                 O   s   t | t|S r   r   )r	   r   r   r   r   r   r   laplace_signature   rA   rf   c                 O   r   r   r   )r	   coordinatesr   r   r   r   r   r   map_coordinates_signature   r!   rh   c                 O   rF   r   r   )r	   r>   r*   r   r   r   r   r   r   maximum_filter1d_signature   rA   ri   c                 C   r   r   )r   r   )r	   r`   ra   r   r   r   maximum_signature   r!   rj   c                 O   s   t | |t|S r   r   )r	   r>   rS   r   r   r   r   r   r   median_filter_signature   r   rk   c                 O   s   t | ||t|S r   r   )r	   r>   rS   r   r   r   r   r   r   r    morphological_gradient_signature   r   rl   c                 O   rQ   r   r   )r	   
percentiler>   rS   r   r   r   r   r   r   percentile_filter_signature   r   rn   c                 O   rK   r   r   )r	   r*   r   r   r   r   r   r   prewitt_signature   rA   ro   c                 O   rQ   r   r   )r	   rN   r>   rS   r   r   r   r   r   r   rank_filter_signature  r   rp   r   r   c                 O   r=   r   r   )r	   angleaxesreshaper   r   r   r   r   r   rotate_signature  rJ   ru   c                 O   rK   r   r   )r	   rD   r   r   r   r   r   r   shift_signature  rA   rv      c                 O   rK   r   r   )r	   rG   r   r   r   r   r   r   spline_filter_signature  rA   rx   c                 O   rF   r   r   )r	   rG   r*   r   r   r   r   r   r   spline_filter1d_signature  rJ   ry   c                 O   rK   r   r   )r	   r>   r   r   r   r   r   r   uniform_filter_signature  rA   rz   c                 O   r9   r   r   )arrr   r   r   r   r   value_indices_signature  r<   r|   c                 C   r"   r   r   )r	   markersr   r   r   r   r   watershed_ift_signature#  s   r~   c                 O   rK   r   r   )r	   zoomr   r   r   r   r   r   zoom_signature'  rA   r   )r   NN)Nr   N)Nr   NN)NNr   )NNNr   )r)   N)r,   NTFNN)r5   TFNN)NTFNN)r   )r)   r)   N)r   N)r)   r   N)NN)NNNN)rq   TN)rw   N)S__doc__numpyrM   scipy._lib._array_apir   scipy.ndimage._ni_supportr   r   r   r   binary_opening_signaturer   binary_erosion_signaturer   r    r%   r&   r(   correlate_signaturer+   correlate1d_signaturer3   r7   r8   r;   r@   fourier_uniform_signaturerC   rE   rH   rI   rL   gaussian_laplace_signaturerP   rT   rV   rX   rZ   r\   rb   rd   re   rf   rh   ri   minimum_filter1d_signatureuniform_filter1d_signaturerj   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_signaturerk   minimum_filter_signaturemaximum_filter_signaturerl   morphological_laplace_signaturewhite_tophat_signatureblack_tophat_signaturegrey_closing_signaturegrey_dilation_signaturegrey_erosion_signaturegrey_opening_signaturern   ro   sobel_signaturerp   ru   rv   float64rx   ry   rz   r|   r~   r   r   r   r   r   <module>   s    







































