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.