
    doi69                        S r SSKrSSKJrJrJr  S rS rS r	SzS jr
S r\r\rS	 rS
 r\rS rS rS rS{SSS.S jjrSSS.S jrSSS.S jrSSS.S jrSSS.S jrS|S jrS}S jr S~SSS.S jjr SSSSS.S jjrSSSS.S jjr\r SSSS.S jjrS\ 4S jr!SS jr"\"r#\"r$\"r%S r&S r'S  r(SSSS.S! jjr)SS" jr*\*r+SS# jr,\,r-S~S$ jr.S~S% jr/SS& jr0SS' jr1S~S( jr2S~S) jr3SS* jr4SS+ jr5S, r6S- r7S. r8S/ r9\9r:\9r;\9r<\9r<\9r=\9r>SS0 jr?SS1 jr@SS2 jrASS3 jrBSS4 jrCSS5 jrDSS6 jrESS7 jrFSS8 jrGSS9 jrHSS: jrIS; rJ\JrK\JrLS< rMSS= jrNS> rOSS@ jrPSA rQ  SSB jrR SSC jrSSSD jrTSSSE.SF jrUSG rVSH rWSSI jrX\XrYSSJ jrZSSK jr[SSL jr\\\r]SM r^SSN jr_SO r`\`raSP rbSQ rcSSR jrd\dreSS rfST rgSSU.SV jrhSSW jri SSSSX.SY jjrjSZ rk\krl\krm\krn\kro\krp\krq\krr\rrsS[ rt\tru\urv\urwS\ rx\xry\xrzS~S] jr{SS^ jr|SS_ jr}S` r~Sa rSb r\rSSc jrSd rSSe jrSf rSg r\rSSh jrSi rSSj jrSSk jrSSl jr\rSSm jrSSn jrSSo jrSp r\r\r\rSq r\rSr rSSs jrSSt jrSu rSSv jrSSwSS?Sx.Sy jjrg)a&  Delegators for alternative backends in scipy.signal.

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

* signatures are generated by

--------------
 import inspect
 from scipy import signal

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

 for func in funcs:
     try:
        sig = inspect.signature(func)
     except ValueError:
         sig = "( FIXME )"
     print(f"def {func.__name__}_signature{sig}:
        return array_namespace(...
 )

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

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

    N)array_namespace	np_compatis_jaxc                 2    [        U [        5      (       a  U $ g)ztHandle `system` arg overloads.

ATM, only pass tuples through. Consider updating when cupyx.lti class
is supported.
N)
isinstancetupleargs    T/var/www/html/land-ocr/venv/lib/python3.13/site-packages/scipy/signal/_delegators.py_skip_if_ltir   "   s     #u
    c                 |    [        U [        5      (       d%  [        U [        5      (       d  [        U 5      (       a  gU $ )z=Handle `window` being a str or a tuple or an array-like.
    N)r   strr	   callable)windows    r   _skip_if_str_or_tupler   .   s/     &#*VU";";x?O?Or   c                 H    [        U [        R                  5      (       a  S $ U $ r   )r   nppoly1dr
   s    r   _skip_if_poly1dr   7   s    c299--4636r   c                     [        XX#5      $ r   r   )ABCDs       r   abcd_normalize_signaturer   =       1&&r   c                     [        U 5      $ r   r   )dataargskwdss      r   argrelextrema_signaturer$   A   s    4  r   c                     [        X#5      $ r   r   )wpindpassbstopbgpassgstoptypes          r   band_stop_obj_signaturer-   H   s    5((r   c                     [        U5      $ r   r   NWnr"   r#   s       r   bessel_signaturer2   L       2r   c                     [        U5      $ r   r   )r0   rsr1   r"   r#   s        r   cheby2_signaturer6   R   r3   r   c                     [        U5      $ r   r   )r0   rpr1   r"   r#   s        r   cheby1_signaturer9   V   r3   r   c                     [        U5      $ r   r   )r0   r8   r5   r1   r"   r#   s         r   ellip_signaturer;   Z   r3   r   )xpdevicec                    Uc  [         $ U$ r   r   )r0   normr<   r=   s       r   besselap_signaturerA   _       2##r   c                    Uc  [         $ U$ r   r?   )r0   r<   r=   s      r   buttap_signaturerD   c   rB   r   c                    Uc  [         $ U$ r   r?   )r0   r8   r<   r=   s       r   cheb1ap_signaturerF   g   rB   r   c                    Uc  [         $ U$ r   r?   )r0   r5   r<   r=   s       r   cheb2ap_signaturerH   k   rB   r   c                    Uc  [         $ U$ r   r?   )r0   r8   r5   r<   r=   s        r   ellipap_signaturerJ   n   rB   r   c                     [         $ r   r?   )in1_lenin2_lenmodes      r   correlation_lags_signaturerO   q       Ir   c                     [         $ r   r?   )mwas      r   czt_points_signaturerU   u   rP   r   c                    Uc  [         $ U$ r   r   )freqftypeordernumtapsfsr<   r=   s          r   gammatone_signaturer]   y        
9**r   F)	pass_zeror<   r=   c                    Uc  [         $ U$ r   rW   )w0QrY   r\   r_   r<   r=   s          r   iircomb_signaturerc      r^   r   c                    Uc  [         $ U$ r   r?   )ra   rb   r\   r<   r=   s        r   iirnotch_signaturere      rB   r   c                    Uc  [         $ U$ r   r?   )window_length	polyorderderivdeltaposuser<   r=   s           r   savgol_coeffs_signaturerm      s     2##r   c                     [         $ r   r?   )shapeidxdtypes      r   unit_impulse_signaturerr      rP   r   c                     [        X5      $ r   r   )r&   wsr*   r+   analogr\   s         r   buttord_signaturerv          2""r   c                     [         $ r   r?   )r[   widths     r   kaiser_atten_signaturerz      rP   r   c                     [         $ r   r?   )rT   s    r   kaiser_beta_signaturer|      rP   r   c                     [         $ r   r?   )ripplery   s     r   kaiserord_signaturer      rP   r   c                    Uc  [         $ U$ r   r?   )r   Nxfftbinsr<   r=   s        r   get_window_signaturer      rB   r   c                 .    [        / [        U 5      QUP76 $ r   r   r   systemrS   ns      r   bode_signaturer          4L04!44r   c                 .    [        / [        U 5      QUP76 $ r   r   r   s      r   freqresp_signaturer      r   r   c                 2    [        / [        U 5      QUPUP76 $ r   r   r   X0Tr0   s       r   impulse_signaturer          8L08"8a88r   c                 2    [        / [        U 5      QUPUP76 $ r   r   r   x0tr   s       r   dimpulse_signaturer      r   r   c                 6    [        / [        U 5      QUPUPUP76 $ r   r   )r   Ur   r   interps        r   lsim_signaturer      $    ;L0;!;Q;;;r   c                 6    [        / [        U 5      QUPUPUP76 $ r   r   )r   ur   r   s       r   dlsim_signaturer      r   r   c                 2    [        / [        U 5      QUPUP76 $ r   r   r   s       r   step_signaturer      r   r   c                 2    [        / [        U 5      QUPUP76 $ r   r   r   s       r   dstep_signaturer      r   r   c                 $    [        [        U 5      6 $ r   r   )r   dtmethodalphas       r   cont2discrete_signaturer      s    L011r   c                     [        X5      $ r   r   )brT   r\   s      r   bilinear_signaturer          1  r   c                     [        X5      $ r   r   )zpkr\   s       r   bilinear_zpk_signaturer      r   r   c                     [        U 5      $ r   r   )r   r"   r#   s      r   chirp_signaturer          1r   c                     [        X5      $ r   r   in1in2r"   r#   s       r   choose_conv_method_signaturer          3$$r   c                     [        X5      $ r   r   r   s       r   convolve_signaturer      r   r   c                 ,    [        X[        U5      5      $ r   r   r   xyr\   r   r"   r#   s         r   coherence_signaturer          1!6v!>??r   c                 ,    [        X[        U5      5      $ r   r   r   s         r   csd_signaturer      r   r   c                 ,    [        U [        U5      5      $ r   r   r   r\   r   r"   r#   s        r   periodogram_signaturer          13F;<<r   c                 ,    [        U [        U5      5      $ r   r   r   s        r   welch_signaturer      r   r   c                 ,    [        U [        U5      5      $ r   r   r   s        r   spectrogram_signaturer     r   r   c                 ,    [        U [        U5      5      $ r   r   r   s        r   stft_signaturer     r   r   c                 ,    [        U [        U5      5      $ r   r   )Zxxr\   r   r"   r#   s        r   istft_signaturer     s    3 5f =>>r   c                 ,    [        X[        U5      5      $ r   r   )r   numr   axisr   domains         r   resample_signaturer     r   r   c                 ,    [        U [        U5      5      $ r   r   )r   updownr   r   r"   r#   s          r   resample_poly_signaturer     r   r   c                 *    [        [        U 5      5      $ r   r   r   npersegnoverlaptols       r   check_COLA_signaturer         0899r   c                 *    [        [        U 5      5      $ r   r   r   s       r   check_NOLA_signaturer     r   r   c                     [        U 5      $ r   r   r   r"   r#   s      r   czt_signaturer     r   r   c                     [        X5      $ r   r   )signaldivisors     r   deconvolve_signaturer   &  s    6++r   c                 R    [        U 5      n[        U5      (       a  U$ [        X5      $ r   )r   r   )r!   r   r,   bpr"   r#   r<   s          r   detrend_signaturer   *  s&    		B 2:!::r   c                     [        XU5      $ r   r   )r   rT   r   r"   r#   s        r   filtfilt_signaturer   1      1##r   c                     [        XX$5      $ r   r   )r   rT   r   r   zis        r   lfilter_signaturer   5  s    1''r   c                     [        U 5      $ r   r   )r   r"   r#   s      r   envelope_signaturer   9  r   r   c	                     [         $ r   rW   )	r   height	thresholddistance
prominencery   wlen
rel_heightplateau_sizes	            r   find_peaks_signaturer   =  s
     r   c                     [        XU5      $ r   r   )vectorwidthswaveletmax_distancesr"   r#   s         r   find_peaks_cwt_signaturer  F  s     6=99r   c                     [        X5      $ r   r   )r   denr0   kinds       r   findfreqs_signaturer
  L  r   r   )weightr\   c                    [        XU5      $ r   r   )r[   bandsdesiredr  r\   s        r   firls_signaturer  P      5622r   c                 d    [        U[        [        -  5      (       a  [        nU$ [	        U5      nU$ r   )r   intfloatr   r   )r[   cutoffr"   r#   r<   s        r   firwin_signaturer  T  s0    &#+&& I V$Ir   c                     [        X5      $ r   r   )r[   rX   gainr"   r#   s        r   firwin2_signaturer  \  s    4&&r   c                     [        XU5      $ r   r   )r   r   r   worNr"   r#   s         r   freqs_zpk_signaturer  `      1&&r   c                     [        XU5      $ r   r   r   rT   r  r"   r#   s        r   freqs_signaturer  f  r  r   c                     [        XU5      $ r   r   r  s        r   freqz_signaturer!  j  s    1&&r   c                     [        X5      $ r   r   )sosr  r"   r#   s       r   freqz_sos_signaturer$  o  s    3%%r   c                 J    [        U [        5      (       a  S OU n[        U5      $ r   )r   r   r   )r   r"   r#   arr_ts       r   gausspulse_signaturer'  u  s     q#&&DAE5!!r   c                     [        / U QUP76 $ r   r   )r   rS   wholer\   s       r   group_delay_signaturer*  z  s    &F&A&&r   c                     [        U 5      $ r   r   r   s      r   hilbert_signaturer,  ~  r   r   c                     [        X5      $ r   r   )r&   rt   r"   r#   s       r   iirdesign_signaturer.    rw   r   c                     [        U5      $ r   r   r/   s       r   iirfilter_signaturer0    r3   r   c                     [        XU5      $ r   r   )rr   r   r   rtypes        r   invres_signaturer4    r   r   c                     [        X5      $ r   r   )r   rT   s     r   lfilter_zi_signaturer6    r   r   c                     [        U 5      $ r   r   r#  s    r   sosfilt_zi_signaturer9        3r   )r  c                    [        XU5      $ r   r   )r[   r  r  r  r#   s        r   remez_signaturer<    r  r   c                     [        XX#5      $ r   r   )r   rT   r   r   s       r   lfiltic_signaturer>    r   r   )weightsfloating_meanc                    [        XX%5      $ r   r   )r   r   freqs	precenter	normalizer?  r@  s          r   lombscargle_signaturerE    s     100r   c                     [        X5      $ r   r   )r   rT   r"   r#   s       r   lp2bp_signaturerG    r   r   c                     [        X5      $ r   r   r   r   r   r"   r#   s        r   lp2bp_zpk_signaturerJ    r   r   c                     [        X5      $ r   r   rI  s        r   zpk2sos_signaturerL    r   r   c                     [        X5      $ r   r   )nbitsstatelengthtapss       r   max_len_seq_signaturerR    s    5''r   c                     [        U 5      $ r   r   )volumekernel_sizes     r   medfilt_signaturerV        6""r   c                     [        U 5      $ r   r   )inputrU  s     r   medfilt2d_signaturerZ    s    5!!r   c                     [        U 5      $ r   r   )hr"   r#   s      r   minimum_phase_signaturer]    r   r   c                     [        X5      $ r   r   )rT   r   ranks      r   order_filter_signaturer`    s    1%%r   c                     [        X5      $ r   r   )r   peaksr"   r#   s       r   peak_prominences_signaturerc    s    1$$r   c                     [        XU5      $ r   r   )r   r   polesr   rtolmaxiters         r   place_poles_signaturerh    s    1''r   c                     [        U 5      $ r   r   r   s      r   savgol_filter_signaturerj    r   r   c                     [        U 5      $ r   r   )r   ry   s     r   sawtooth_signaturerl    r   r   c                     [        XU5      $ r   r   )rY  hrowhcols      r   sepfir2d_signaturerp    s    5--r   c                     [        U 5      $ r   r   r8  s    r   sos2tf_signaturerr    r:  r   c                     [        XU5      $ r   r   )r#  r   r   r   s       r   sosfilt_signaturert    s    32&&r   c                     [        X5      $ r   r   )r#  r   r"   r#   s       r   sosfiltfilt_signaturerv    s    3""r   c                     [        U 5      $ r   r   )Iinlmbdas     r   spline_filter_signaturerz    r:  r   c                     [        U 5      $ r   r   )r   dutys     r   square_signaturer}    r   r   c                     [        XX#5      $ r   r   )r   r   r   r   rY  s        r   ss2tf_signaturer  	  r   r   c                 ,    [        U [        U5      5      $ r   )r   r   )r   polyphis      r   sweep_poly_signaturer    s    1od344r   c                     [        U 5      $ r   r   )r   c0z1	precisions       r   symiirorder1_signaturer    rW  r   c                     [        XU5      $ r   r   )rY  r2  omegar  s       r   symiirorder2_signaturer    s    5U++r   c                     [        U 5      $ r   r   )r   r"   r#   s      r   cspline1d_signaturer    rW  r   c                     [        X5      $ r   r   )cjnewxr"   r#   s       r   cspline1d_eval_signaturer  #  s    2$$r   c                     [        X5      $ r   r   )r   r  s     r   tf2ss_signaturer  )  r   r   c                     [        U 5      $ r   r   )r   r   r3  s      r   unique_roots_signaturer  -  r   r   c                     [        X5      $ r   r   )r\  r   r   r   r   rN   cvals          r   upfirdn_signaturer  1  r   r   c                     [        X5      $ r   r   )eventsperiods     r   vectorstrength_signaturer  5  s    6**r   c                     [        U 5      $ r   r   )immysizenoises      r   wiener_signaturer  9  r3   r      )r\   endpointr   c                    [        X5      $ r   r   )r   fnrR   r\   r  r   s         r   zoom_fft_signaturer  =  s    1!!r   )NNNN)phase)full)Ny      ?        )NNN)notch       @)r  )r         ?Nconv)FN)T)Nd   )Ni'  )NT)NN)zohN)r  )r  hann_periodic)r  boxcar)r  )tukey_periodicg      ?)Nr   Ntime)r   )kaiser      @)g|=)   linearr   )r   N)NNNNNN      ?N)ba)   )r     )r  )r  Fg-DT!@)MbP?avgr   )FF)   )YTr     )r  )r  )r  )r   )g      )r  min)r  r  r   constantr   )__doc__numpyr   scipy._lib._array_apir   r   r   r   r   r   r   r$   argrelmax_signatureargrelmin_signaturer-   r2   butter_signaturer6   r9   r;   rA   rD   rF   rH   rJ   rO   rU   r]   rc   re   iirpeak_signaturerm   r  rr   rv   cheb1ord_signaturecheb2ord_signatureellipord_signaturerz   r|   r   r   r   dbode_signaturer   dfreqresp_signaturer   r   r   r   r   r   r   r   r   r   r   r   fftconvolve_signatureoaconvolve_signaturecorrelate_signatureconvolve2d_signaturecorrelate2d_signaturer   r   r   r   r   r   r   r   r   r   r   r   decimate_signaturegauss_spline_signaturer   r   r   r   r   r   r  r
  r  r  r  r  freqz_zpk_signaturer  r!  r$  sosfreqz_signaturer'  r*  r,  hilbert2_signaturer.  r0  r4  invresz_signaturer6  r9  r<  r>  rE  rG  lp2bs_signaturelp2hp_signaturelp2lp_signaturetf2zpk_signaturetf2sos_signaturenormalize_signatureresidue_signatureresiduez_signaturerJ  lp2bs_zpk_signaturelp2hp_zpk_signaturelp2lp_zpk_signaturerL  zpk2ss_signaturezpk2tf_signaturerR  rV  rZ  r]  r`  rc  peak_widths_signaturerh  rj  rl  rp  rr  sos2zpk_signaturert  rv  rz  r}  r  ss2zpk_signaturer  r  r  r  qspline1d_signaturecspline2d_signatureqspline2d_signaturer  qspline1d_eval_signaturer  r  r  r  r  r   r   r   <module>r     s  :  D D	7'! . - ) $ 
$d4 $ #4 $ $( $ $( $ (,D $
 /3+:>t+ !+/4d+$D $ '  AG$
t$ '+% 
# ' & & $d $
5 !5 ) 99<<992!!
%
% + ) ( ( ) * @@====?@=:: # & ,;$(
 KO,0 15:% 8< 3'' * ''
& ) "
' ' #$ % !  8< 3'
 -211! "!!" " % # & ! * ) ) ! % $ (#"&% 3 (.  % '# ' # 5#,# * ) ) % 4 %!+"AB "r   