+
    LV-j´  ã                   ó   € ^ RI t ^ RIHtHtHt ^RIHtHt ^ RIH	t	  ^ RI
t
]
P                  ! ]
P                  ! R4      R]]R7      t]3R lt]	! R	R
7      R 4       t]	! R	R
7      R 4       t]	! R	R
7      RR l4       tR#   ] d    Rt
Rt LDi ; i)é    N)ÚarrayÚ
frombufferÚload)ÚregistryÚregistry_urls)Úxp_capabilitiesz
scipy-datazhttps://github.com/scipy/)ÚpathÚbase_urlr   Úurlsc                 óº   € Vf   \        R4      h\        P                  ! RR\        P                  R,          P
                   2/R7      pVP                  WR7      # )NzsMissing optional dependency 'pooch' required for scipy.datasets module. Please use pip or conda to install 'pooch'.z
User-AgentzSciPy Úscipy)Úheaders)Ú
downloader)ÚImportErrorÚpoochÚHTTPDownloaderÚsysÚmodulesÚ__version__Úfetch)Údataset_nameÚdata_fetcherr   s   && Úi/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/datasets/_fetchers.pyÚ
fetch_datar      sa   € ØÒÜð 6ó 7ð 	7ô ×%Ò%Ø ¬¯©°GÕ(<×(HÑ(HÐ'IÐJÐKô€Jð ×Ñ˜lÐÓBÐBó    T)Úout_of_scopec                 óº   € ^ RI p \        R4      p\        VR4      ;_uu_ 4       p\        V P	                  V4      4      pRRR4       V#   + '       g   i     X# ; i)aø  
Get an 8-bit grayscale bit-depth, 512 x 512 derived image for easy
use in demos.

The image is derived from
https://pixnio.com/people/accent-to-the-top

Parameters
----------
None

Returns
-------
ascent : ndarray
   convenient image to use for testing and demonstration

Examples
--------
>>> import scipy.datasets
>>> ascent = scipy.datasets.ascent()
>>> ascent.shape
(512, 512)
>>> ascent.max()
np.uint8(255)

>>> import matplotlib.pyplot as plt
>>> plt.gray()
>>> plt.imshow(ascent)
>>> plt.show()

Nz
ascent.datÚrb)Úpickler   Úopenr   r   )r   ÚfnameÚfÚascents       r   r#   r#   *   sM   € óB ô
 �|Ó$€Eä	ˆe�T×	Ô	˜aÜ�v—{‘{ 1“~Ó&ˆ÷ 
à€M÷ 
Ö	à€Mús   ¤A	Á	A	c                 óÒ   € \        R4      p \        V 4      ;_uu_ 4       pVR,          P                  \        4      pRRR4       XR,
          R,          pV#   + '       g   i     L"; i)ad  
Load an electrocardiogram as an example for a 1-D signal.

The returned signal is a 5 minute long electrocardiogram (ECG), a medical
recording of the heart's electrical activity, sampled at 360 Hz.

Returns
-------
ecg : ndarray
    The electrocardiogram in millivolt (mV) sampled at 360 Hz.

Notes
-----
The provided signal is an excerpt (19:35 to 24:35) from the `record 208`_
(lead MLII) provided by the MIT-BIH Arrhythmia Database [1]_ on
PhysioNet [2]_. The excerpt includes noise induced artifacts, typical
heartbeats as well as pathological changes.

.. _record 208: https://physionet.org/physiobank/database/html/mitdbdir/records.htm#208

.. versionadded:: 1.1.0

References
----------
.. [1] Moody GB, Mark RG. The impact of the MIT-BIH Arrhythmia Database.
       IEEE Eng in Med and Biol 20(3):45-50 (May-June 2001).
       (PMID: 11446209); :doi:`10.13026/C2F305`
.. [2] Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh,
       Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley HE. PhysioBank,
       PhysioToolkit, and PhysioNet: Components of a New Research Resource
       for Complex Physiologic Signals. Circulation 101(23):e215-e220;
       :doi:`10.1161/01.CIR.101.23.e215`

Examples
--------
>>> from scipy.datasets import electrocardiogram
>>> ecg = electrocardiogram()
>>> ecg
array([-0.245, -0.215, -0.185, ..., -0.405, -0.395, -0.385], shape=(108000,))
>>> ecg.shape, ecg.mean(), ecg.std()
((108000,), -0.16510875, 0.5992473991177294)

As stated the signal features several areas with a different morphology.
E.g., the first few seconds show the electrical activity of a heart in
normal sinus rhythm as seen below.

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> fs = 360
>>> time = np.arange(ecg.size) / fs
>>> plt.plot(time, ecg)
>>> plt.xlabel("time in s")
>>> plt.ylabel("ECG in mV")
>>> plt.xlim(9, 10.2)
>>> plt.ylim(-1, 1.5)
>>> plt.show()

After second 16, however, the first premature ventricular contractions,
also called extrasystoles, appear. These have a different morphology
compared to typical heartbeats. The difference can easily be observed
in the following plot.

>>> plt.plot(time, ecg)
>>> plt.xlabel("time in s")
>>> plt.ylabel("ECG in mV")
>>> plt.xlim(46.5, 50)
>>> plt.ylim(-2, 1.5)
>>> plt.show()

At several points large artifacts disturb the recording, e.g.:

>>> plt.plot(time, ecg)
>>> plt.xlabel("time in s")
>>> plt.ylabel("ECG in mV")
>>> plt.xlim(207, 215)
>>> plt.ylim(-2, 3.5)
>>> plt.show()

Finally, examining the power spectrum reveals that most of the biosignal is
made up of lower frequencies. At 60 Hz the noise induced by the mains
electricity can be clearly observed.

>>> from scipy.signal import welch
>>> f, Pxx = welch(ecg, fs=fs, nperseg=2048, scaling="spectrum")
>>> plt.semilogy(f, Pxx)
>>> plt.xlabel("Frequency in Hz")
>>> plt.ylabel("Power spectrum of the ECG in mV**2")
>>> plt.xlim(f[[0, -1]])
>>> plt.show()
zecg.datÚecgNé   g      i@)r   r   ÚastypeÚint)r!   Úfiler%   s      r   Úelectrocardiogramr*   W   sP   € ôx �yÓ!€EÜ	ˆe�Œ˜Ø�5�k× Ñ ¤Ó%ˆ÷ 
ð ��:˜Õ
€CØ€J÷	 
�ús   ŸAÁA&	c                óœ  € ^ RI p\        R4      p\        VR4      ;_uu_ 4       pVP                  4       pRRR4       VP	                  X4      p\        VRR7      P                  R
4      pV RJ dJ   RVR,          ,          RVR,          ,          ,           R	VR,          ,          ,           P                  R4      pV#   + '       g   i     LŽ; i)a"  
Get a 1024 x 768, color image of a raccoon face.

The image is derived from
https://pixnio.com/fauna-animals/raccoons/raccoon-procyon-lotor

Parameters
----------
gray : bool, optional
    If True return 8-bit grey-scale image, otherwise return a color image

Returns
-------
face : ndarray
    image of a raccoon face

Examples
--------
>>> import scipy.datasets
>>> face = scipy.datasets.face()
>>> face.shape
(768, 1024, 3)
>>> face.max()
np.uint8(255)

>>> import matplotlib.pyplot as plt
>>> plt.gray()
>>> plt.imshow(face)
>>> plt.show()

Nzface.datr   Úuint8)ÚdtypeTgáz®GáÊ?g¸…ëQ¸æ?gìQ¸…ë±?)i   r&   é   )ºNNNr/   r   )r/   r/   é   )r/   r/   é   )Úbz2r   r    ÚreadÚ
decompressr   Úreshaper'   )Úgrayr2   r!   r"   ÚrawdataÚ	face_dataÚfaces   &      r   r9   r9   »   s¤   € óB Ü�zÓ"€EÜ	ˆe�T×	Ô	˜aØ—&‘&“(ˆ÷ 
à—‘˜wÓ'€IÜ�i wÔ/×7Ñ7¸ÓG€DØˆtƒ|Ø�t˜G•}Õ$ t¨d°7­mÕ';Õ;Ø�t˜G•}Õ$õ%ß&,¡f¨W£oð 	à€K÷ 
×	ús   ¤B;Â;C	)F)r   Únumpyr   r   r   Ú	_registryr   r   Úscipy._lib._array_apir   r   ÚcreateÚos_cacher   r   r   r#   r*   r9   © r   r   Ú<module>r@      s»   ðÛ 
ç )Ñ )ß .å 1ðÛð
 —<’<ð �^Š^˜LÓ)ð
 -ØØô€Lð +7ô 
Cñ ˜dÔ#ñ)ó $ð)ñX ˜dÔ#ñ`ó $ð`ñF ˜dÔ#ó)ó $ò)øðe ô Ø€EØ‚Lðús   žA? Á?BÂB