ulab.utils --- مساعدات أدوات ulab#
توفر الوحدة الفرعية ulab.utils مجموعة صغيرة من المساعدات التي تعمل على كائنات numpy.ndarray لكنها تعيش خارج السطح القياسي لـ NumPy / SciPy. وقد ضُبطت هذه المساعدات لأنماط التدفق الشائعة على الأهداف المضمَّنة -- المخازن المؤقتة للطرفيات الأعرض من 16 بت، وأطياف المقدار الخالية من التخصيص.
محوّلات المخزن المؤقت#
إن numpy.frombuffer() القياسية لا تتعامل إلا مع الأنواع التي تعرّفها numpy نفسها (uint8 وint8 وuint16 وint16 وfloat). وتوسّع المساعدات أدناه تلك التغطية لتشمل مخازن البايتات من النوع int16 / uint16 / int32 / uint32 وتُعيد numpy.ndarray من الأعداد العشرية في مرور واحد.
- ulab.utils.from_int16_buffer(buffer: bytes, *, count: int = -1, offset: int = 0, out: numpy.ndarray | None = None, byteswap: bool = False) numpy.ndarray#
تحويل مخزن مؤقت من عينات
int16إلىnumpy.ndarrayمن الأعداد العشرية في مرور واحد.- المعاملات:
buffer -- مخزن مؤقت شبيه بـ
bytesيحمل العينات.count -- عدد العناصر المراد قراءتها. تقرأ القيمة
-1المخزن المؤقت بأكمله منoffsetحتى النهاية.offset -- عدد البايتات المراد تخطيها في بداية المخزن المؤقت.
out --
numpy.ndarrayاختيارية مخصصة مسبقًا من الأعداد العشرية لكتابة النتيجة فيها. وعند تقديمها، لا تُخصَّص أي مصفوفة جديدة.byteswap -- عكس ترتيب بايتات كل عنصر قبل التحويل -- وهو الإعداد الصحيح عندما يأتي المخزن المؤقت من طرفية كتبت بترتيب بايتات معاكس لترتيب وحدة المعالجة المركزية للكاميرا.
- يُعيد:
numpy.ndarrayمن الأعداد العشرية بطولcount(أو بعدد العينات المتاحة عندما يكونcountهو-1).
- ulab.utils.from_uint16_buffer(buffer: bytes, *, count: int = -1, offset: int = 0, out: numpy.ndarray | None = None, byteswap: bool = False) numpy.ndarray#
تحويل مخزن مؤقت من عينات
uint16إلىnumpy.ndarrayمن الأعداد العشرية في مرور واحد.- المعاملات:
buffer -- مخزن مؤقت شبيه بـ bytes يحمل العينات.
count -- عدد العناصر المراد قراءتها. تقرأ القيمة
-1المخزن المؤقت بأكمله منoffsetحتى النهاية.offset -- عدد البايتات المراد تخطيها في بداية المخزن المؤقت.
out --
numpy.ndarrayاختيارية مخصصة مسبقًا من الأعداد العشرية لكتابة النتيجة فيها. وعند تقديمها، لا تُخصَّص أي مصفوفة جديدة.byteswap -- عكس ترتيب بايتات كل عنصر قبل التحويل -- وهو الإعداد الصحيح عندما يأتي المخزن المؤقت من طرفية كتبت بترتيب بايتات معاكس لترتيب وحدة المعالجة المركزية للكاميرا.
- يُعيد:
numpy.ndarrayمن الأعداد العشرية بطولcount(أو بعدد العينات المتاحة عندما يكونcountهو-1).
- ulab.utils.from_int32_buffer(buffer: bytes, *, count: int = -1, offset: int = 0, out: numpy.ndarray | None = None, byteswap: bool = False) numpy.ndarray#
تحويل مخزن مؤقت من عينات
int32إلىnumpy.ndarrayمن الأعداد العشرية في مرور واحد.- المعاملات:
buffer -- مخزن مؤقت شبيه بـ bytes يحمل العينات.
count -- عدد العناصر المراد قراءتها. تقرأ القيمة
-1المخزن المؤقت بأكمله منoffsetحتى النهاية.offset -- عدد البايتات المراد تخطيها في بداية المخزن المؤقت.
out --
numpy.ndarrayاختيارية مخصصة مسبقًا من الأعداد العشرية لكتابة النتيجة فيها. وعند تقديمها، لا تُخصَّص أي مصفوفة جديدة.byteswap -- عكس ترتيب بايتات كل عنصر قبل التحويل -- وهو الإعداد الصحيح عندما يأتي المخزن المؤقت من طرفية كتبت بترتيب بايتات معاكس لترتيب وحدة المعالجة المركزية للكاميرا.
- يُعيد:
numpy.ndarrayمن الأعداد العشرية بطولcount(أو بعدد العينات المتاحة عندما يكونcountهو-1).
- ulab.utils.from_uint32_buffer(buffer: bytes, *, count: int = -1, offset: int = 0, out: numpy.ndarray | None = None, byteswap: bool = False) numpy.ndarray#
تحويل مخزن مؤقت من عينات
uint32إلىnumpy.ndarrayمن الأعداد العشرية في مرور واحد.- المعاملات:
buffer -- مخزن مؤقت شبيه بـ bytes يحمل العينات.
count -- عدد العناصر المراد قراءتها. تقرأ القيمة
-1المخزن المؤقت بأكمله منoffsetحتى النهاية.offset -- عدد البايتات المراد تخطيها في بداية المخزن المؤقت.
out --
numpy.ndarrayاختيارية مخصصة مسبقًا من الأعداد العشرية لكتابة النتيجة فيها. وعند تقديمها، لا تُخصَّص أي مصفوفة جديدة.byteswap -- عكس ترتيب بايتات كل عنصر قبل التحويل -- وهو الإعداد الصحيح عندما يأتي المخزن المؤقت من طرفية كتبت بترتيب بايتات معاكس لترتيب وحدة المعالجة المركزية للكاميرا.
- يُعيد:
numpy.ndarrayمن الأعداد العشرية بطولcount(أو بعدد العينات المتاحة عندما يكونcountهو-1).
مخطط طيفي#
- 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#
إعادة مقدار تحويل فورييه المتقطع للدخل، وهو مكافئ من حيث المفهوم لـ
np.sqrt(real * real + imag * imag)بعد استدعاءnumpy.fft.fft()-- دون تخصيص المخازن المؤقتة الوسيطة التي تخصصها الصيغة الصريحة.- المعاملات:
r -- الجزء الحقيقي من الدخل بوصفه
numpy.ndarrayأحادية البُعد من الأعداد العشرية. يجب أن يكون طوله قوة من قوى الاثنين.imag -- الجزء التخيّلي الاختياري من الدخل، بالشكل نفسه الذي لـ r. عند حذفه، يُعامَل الدخل على أنه حقيقي محض.
scratchpad -- مخزن مؤقت عامل اختياري لتحويل FFT. عند تقديمه، لا تُخصَّص أي مصفوفة عمل مؤقتة.
out -- مخزن مؤقت وجهة اختياري مخصص مسبقًا لطيف المقدار. عند تقديمه، تُكتب النتيجة فيه مباشرةً.
log -- عند
True، يُعاد اللوغاريتم الطبيعي للمقدار بدلًا من المقدار نفسه.
- يُعيد:
numpy.ndarrayمن الأعداد العشرية بالطول نفسه الذي لـ r تحمل المقدار (أو لوغاريتمه) عند كل نطاق ترددي.