ulab.utils — ulabin apufunktiot¶
ulab.utils -alimoduuli tarjoaa pienen joukon apufunktioita, jotka toimivat numpy.ndarray -olioilla mutta sijaitsevat standardin NumPy / SciPy -pinnan ulkopuolella. Apufunktiot on viritetty sulautetuilla kohteilla yleisiin suoratoistokuvioihin – yli 16-bittisiin oheislaitepuskureihin, varauksettomiin magnitudispektreihin.
Puskurinmuuntimet¶
Standardi numpy.frombuffer() käsittelee vain tietotyyppejä, jotka numpy itse määrittelee (uint8, int8, uint16, int16, float). Alla olevat apufunktiot laajentavat tämän kattavuuden int16 / uint16 / int32 / uint32 -tavupuskureihin ja palauttavat liukuluku-numpy.ndarray -olion yhdellä läpikäynnillä.
- ulab.utils.from_int16_buffer(buffer: bytes, *, count: int = -1, offset: int = 0, out: numpy.ndarray | None = None, byteswap: bool = False) numpy.ndarray¶
Muunna
int16-näytteiden puskuri liukuluku-numpy.ndarray-olioksi yhdellä läpikäynnillä.- Parametrit:
buffer –
bytes-tyyppinen puskuri, joka sisältää näytteet.count – luettavien alkioiden määrä.
-1lukee koko puskurin kohdastaoffsetloppuun.offset – puskurin alusta ohitettavien tavujen määrä.
out – valinnainen valmiiksi varattu liukuluku-
numpy.ndarray, johon tulos kirjoitetaan. Kun se annetaan, uutta taulukkoa ei varata.byteswap – käännä kunkin alkion tavujärjestys ennen muunnosta – oikea asetus, kun puskuri tuli oheislaitteelta, joka kirjoitti päinvastaisessa tavujärjestyksessä kuin kameran CPU.
- Palauttaa:
liukuluku-
numpy.ndarray, jonka pituus oncount(tai käytettävissä olevien näytteiden määrä, kuncounton-1).
- ulab.utils.from_uint16_buffer(buffer: bytes, *, count: int = -1, offset: int = 0, out: numpy.ndarray | None = None, byteswap: bool = False) numpy.ndarray¶
Muunna
uint16-näytteiden puskuri liukuluku-numpy.ndarray-olioksi yhdellä läpikäynnillä.- Parametrit:
buffer – bytes-tyyppinen puskuri, joka sisältää näytteet.
count – luettavien alkioiden määrä.
-1lukee koko puskurin kohdastaoffsetloppuun.offset – puskurin alusta ohitettavien tavujen määrä.
out – valinnainen valmiiksi varattu liukuluku-
numpy.ndarray, johon tulos kirjoitetaan. Kun se annetaan, uutta taulukkoa ei varata.byteswap – käännä kunkin alkion tavujärjestys ennen muunnosta – oikea asetus, kun puskuri tuli oheislaitteelta, joka kirjoitti päinvastaisessa tavujärjestyksessä kuin kameran CPU.
- Palauttaa:
liukuluku-
numpy.ndarray, jonka pituus oncount(tai käytettävissä olevien näytteiden määrä, kuncounton-1).
- ulab.utils.from_int32_buffer(buffer: bytes, *, count: int = -1, offset: int = 0, out: numpy.ndarray | None = None, byteswap: bool = False) numpy.ndarray¶
Muunna
int32-näytteiden puskuri liukuluku-numpy.ndarray-olioksi yhdellä läpikäynnillä.- Parametrit:
buffer – bytes-tyyppinen puskuri, joka sisältää näytteet.
count – luettavien alkioiden määrä.
-1lukee koko puskurin kohdastaoffsetloppuun.offset – puskurin alusta ohitettavien tavujen määrä.
out – valinnainen valmiiksi varattu liukuluku-
numpy.ndarray, johon tulos kirjoitetaan. Kun se annetaan, uutta taulukkoa ei varata.byteswap – käännä kunkin alkion tavujärjestys ennen muunnosta – oikea asetus, kun puskuri tuli oheislaitteelta, joka kirjoitti päinvastaisessa tavujärjestyksessä kuin kameran CPU.
- Palauttaa:
liukuluku-
numpy.ndarray, jonka pituus oncount(tai käytettävissä olevien näytteiden määrä, kuncounton-1).
- ulab.utils.from_uint32_buffer(buffer: bytes, *, count: int = -1, offset: int = 0, out: numpy.ndarray | None = None, byteswap: bool = False) numpy.ndarray¶
Muunna
uint32-näytteiden puskuri liukuluku-numpy.ndarray-olioksi yhdellä läpikäynnillä.- Parametrit:
buffer – bytes-tyyppinen puskuri, joka sisältää näytteet.
count – luettavien alkioiden määrä.
-1lukee koko puskurin kohdastaoffsetloppuun.offset – puskurin alusta ohitettavien tavujen määrä.
out – valinnainen valmiiksi varattu liukuluku-
numpy.ndarray, johon tulos kirjoitetaan. Kun se annetaan, uutta taulukkoa ei varata.byteswap – käännä kunkin alkion tavujärjestys ennen muunnosta – oikea asetus, kun puskuri tuli oheislaitteelta, joka kirjoitti päinvastaisessa tavujärjestyksessä kuin kameran CPU.
- Palauttaa:
liukuluku-
numpy.ndarray, jonka pituus oncount(tai käytettävissä olevien näytteiden määrä, kuncounton-1).
Spektrogrammi¶
- ulab.utils.spectrogram(r: numpy.ndarray, imag: numpy.ndarray | None = None, *, scratchpad: numpy.ndarray | None = None, out: numpy.ndarray | None = None, log: bool = False) numpy.ndarray¶
Palauta syötteen diskreetin Fourier-muunnoksen magnitudi, käsitteellisesti vastaten lauseketta
np.sqrt(real * real + imag * imag)numpy.fft.fft()-kutsun jälkeen – varaamatta välipuskureita, jotka eksplisiittinen muoto varaisi.- Parametrit:
r – syötteen reaaliosa yksiulotteisena liukuluku-
numpy.ndarray-oliona. Sen pituuden on oltava kahden potenssi.imag – syötteen valinnainen imaginaariosa, samaa muotoa kuin r. Kun jätetään pois, syöte käsitellään puhtaasti reaalisena.
scratchpad – valinnainen työpuskuri FFT:lle. Kun se annetaan, väliaikaista työtaulukkoa ei varata.
out – valinnainen valmiiksi varattu kohdepuskuri magnitudispektrille. Kun se annetaan, tulos kirjoitetaan siihen suoraan.
log – kun
True, palauta magnitudin luonnollinen logaritmi magnitudin itsensä sijaan.
- Palauttaa:
liukuluku-
numpy.ndarray, jonka pituus on sama kuin r:llä ja joka sisältää magnitudin (tai sen logaritmin) kullakin taajuuslokerolla.