ulab.utils — ulab yardımcı araçları#
ulab.utils alt modülü, numpy.ndarray nesneleri üzerinde işlem yapan ancak standart NumPy / SciPy yüzeyinin dışında kalan küçük bir yardımcı kümesi sağlar. Yardımcılar, gömülü hedeflerde yaygın olan akış kalıpları için optimize edilmiştir – 16 bitten geniş çevre birimi arabellekleri, ayırma içermeyen büyüklük spektrumları.
Arabellek dönüştürücüler#
Standart numpy.frombuffer() yalnızca numpy modülünün kendi tanımladığı dtype türlerini işler (uint8, int8, uint16, int16, float). Aşağıdaki yardımcılar bu kapsamı int16 / uint16 / int32 / uint32 bayt arabelleklerine genişletir ve tek geçişte bir float numpy.ndarray döndürür.
- ulab.utils.from_int16_buffer(buffer: bytes, *, count: int = -1, offset: int = 0, out: numpy.ndarray | None = None, byteswap: bool = False) numpy.ndarray#
Bir
int16örnek arabelleğini tek geçişte bir floatnumpy.ndarraytürüne dönüştürür.- Parametreler:
buffer – örnekleri tutan
bytesbenzeri bir arabellek.count – okunacak öğe sayısı.
-1, arabelleğin tamamınıoffsetkonumundan sonuna kadar okur.offset – arabelleğin başında atlanacak bayt sayısı.
out – sonucun yazılacağı isteğe bağlı, önceden ayrılmış bir float
numpy.ndarray. Verildiğinde, yeni bir dizi ayrılmaz.byteswap – dönüştürmeden önce her öğenin bayt sırasını tersine çevirir – arabellek, kameranın CPU’sundan ters bayt sırasıyla yazan bir çevre biriminden geldiğinde doğru ayar budur.
- Dönüşler:
countuzunluğunda bir floatnumpy.ndarray(veyacountdeğeri-1olduğunda mevcut örnek sayısında).
- ulab.utils.from_uint16_buffer(buffer: bytes, *, count: int = -1, offset: int = 0, out: numpy.ndarray | None = None, byteswap: bool = False) numpy.ndarray#
Bir
uint16örnek arabelleğini tek geçişte bir floatnumpy.ndarraytürüne dönüştürür.- Parametreler:
buffer – örnekleri tutan bytes benzeri bir arabellek.
count – okunacak öğe sayısı.
-1, arabelleğin tamamınıoffsetkonumundan sonuna kadar okur.offset – arabelleğin başında atlanacak bayt sayısı.
out – sonucun yazılacağı isteğe bağlı, önceden ayrılmış bir float
numpy.ndarray. Verildiğinde, yeni bir dizi ayrılmaz.byteswap – dönüştürmeden önce her öğenin bayt sırasını tersine çevirir – arabellek, kameranın CPU’sundan ters bayt sırasıyla yazan bir çevre biriminden geldiğinde doğru ayar budur.
- Dönüşler:
countuzunluğunda bir floatnumpy.ndarray(veyacountdeğeri-1olduğunda mevcut örnek sayısında).
- ulab.utils.from_int32_buffer(buffer: bytes, *, count: int = -1, offset: int = 0, out: numpy.ndarray | None = None, byteswap: bool = False) numpy.ndarray#
Bir
int32örnek arabelleğini tek geçişte bir floatnumpy.ndarraytürüne dönüştürür.- Parametreler:
buffer – örnekleri tutan bytes benzeri bir arabellek.
count – okunacak öğe sayısı.
-1, arabelleğin tamamınıoffsetkonumundan sonuna kadar okur.offset – arabelleğin başında atlanacak bayt sayısı.
out – sonucun yazılacağı isteğe bağlı, önceden ayrılmış bir float
numpy.ndarray. Verildiğinde, yeni bir dizi ayrılmaz.byteswap – dönüştürmeden önce her öğenin bayt sırasını tersine çevirir – arabellek, kameranın CPU’sundan ters bayt sırasıyla yazan bir çevre biriminden geldiğinde doğru ayar budur.
- Dönüşler:
countuzunluğunda bir floatnumpy.ndarray(veyacountdeğeri-1olduğunda mevcut örnek sayısında).
- ulab.utils.from_uint32_buffer(buffer: bytes, *, count: int = -1, offset: int = 0, out: numpy.ndarray | None = None, byteswap: bool = False) numpy.ndarray#
Bir
uint32örnek arabelleğini tek geçişte bir floatnumpy.ndarraytürüne dönüştürür.- Parametreler:
buffer – örnekleri tutan bytes benzeri bir arabellek.
count – okunacak öğe sayısı.
-1, arabelleğin tamamınıoffsetkonumundan sonuna kadar okur.offset – arabelleğin başında atlanacak bayt sayısı.
out – sonucun yazılacağı isteğe bağlı, önceden ayrılmış bir float
numpy.ndarray. Verildiğinde, yeni bir dizi ayrılmaz.byteswap – dönüştürmeden önce her öğenin bayt sırasını tersine çevirir – arabellek, kameranın CPU’sundan ters bayt sırasıyla yazan bir çevre biriminden geldiğinde doğru ayar budur.
- Dönüşler:
countuzunluğunda bir floatnumpy.ndarray(veyacountdeğeri-1olduğunda mevcut örnek sayısında).
Spektrogram#
- 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#
Girdinin ayrık Fourier dönüşümünün büyüklüğünü döndürür; kavramsal olarak
numpy.fft.fft()çağrısından sonranp.sqrt(real * real + imag * imag)ifadesine eşdeğerdir – ancak açık biçimin gerektireceği ara arabellekleri ayırmadan.- Parametreler:
r – girdinin gerçek kısmı; 1 boyutlu bir float
numpy.ndarrayolarak. Uzunluğu ikinin bir kuvveti olmalıdır.imag – girdinin isteğe bağlı sanal kısmı, r ile aynı şekilde. Atlandığında, girdi tamamen gerçek olarak ele alınır.
scratchpad – FFT için isteğe bağlı çalışma arabelleği. Verildiğinde, geçici bir çalışma dizisi ayrılmaz.
out – büyüklük spektrumu için isteğe bağlı, önceden ayrılmış hedef arabellek. Verildiğinde, sonuç doğrudan buna yazılır.
log –
Trueolduğunda, büyüklüğün kendisi yerine büyüklüğün doğal logaritmasını döndürür.
- Dönüşler:
r ile aynı uzunlukta, her frekans aralığındaki büyüklüğü (veya logaritmasını) tutan bir float
numpy.ndarray.