ulab.utils — כלי עזר של ulab¶
תת-המודול ulab.utils מספק קבוצה קטנה של כלי עזר הפועלים על אובייקטי numpy.ndarray אך נמצאים מחוץ למשטח הסטנדרטי של NumPy / SciPy. כלי העזר מכווננים לתבניות הזרמה (streaming) הנפוצות ביעדים מוטמעים – חוצצי התקנים היקפיים רחבים מ-16 ביט, וספקטרום עוצמה ללא הקצאות.
ממירי חוצצים¶
פונקציית numpy.frombuffer() הסטנדרטית מטפלת רק בטיפוסי dtype ש-numpy עצמו מגדיר (uint8, int8, uint16, int16, float). כלי העזר שלהלן מרחיבים כיסוי זה לחוצצי בתים מסוג int16 / uint16 / int32 / uint32 ומחזירים numpy.ndarray מסוג float במעבר אחד.
- 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מסוג float במעבר אחד.- פרמטרים:
buffer – חוצץ דמוי-
bytesהמחזיק את הערכים.count – מספר האיברים לקריאה.
-1קורא את כל החוצץ מ-offsetעד הסוף.offset – מספר הבתים לדילוג בתחילת החוצץ.
out –
numpy.ndarrayאופציונלי מסוג float, מוקצה מראש, שאליו ייכתב התוצאה. כאשר מסופק, לא מוקצה מערך חדש.byteswap – היפוך סדר הבתים של כל איבר לפני ההמרה – ההגדרה הנכונה כאשר החוצץ הגיע מהתקן היקפי שכתב בסדר בתים הפוך מזה של ה-CPU של המצלמה.
- מחזיר:
numpy.ndarrayמסוג float באורך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מסוג float במעבר אחד.- פרמטרים:
buffer – חוצץ דמוי-bytes המחזיק את הערכים.
count – מספר האיברים לקריאה.
-1קורא את כל החוצץ מ-offsetעד הסוף.offset – מספר הבתים לדילוג בתחילת החוצץ.
out –
numpy.ndarrayאופציונלי מסוג float, מוקצה מראש, שאליו ייכתב התוצאה. כאשר מסופק, לא מוקצה מערך חדש.byteswap – היפוך סדר הבתים של כל איבר לפני ההמרה – ההגדרה הנכונה כאשר החוצץ הגיע מהתקן היקפי שכתב בסדר בתים הפוך מזה של ה-CPU של המצלמה.
- מחזיר:
numpy.ndarrayמסוג float באורך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מסוג float במעבר אחד.- פרמטרים:
buffer – חוצץ דמוי-bytes המחזיק את הערכים.
count – מספר האיברים לקריאה.
-1קורא את כל החוצץ מ-offsetעד הסוף.offset – מספר הבתים לדילוג בתחילת החוצץ.
out –
numpy.ndarrayאופציונלי מסוג float, מוקצה מראש, שאליו ייכתב התוצאה. כאשר מסופק, לא מוקצה מערך חדש.byteswap – היפוך סדר הבתים של כל איבר לפני ההמרה – ההגדרה הנכונה כאשר החוצץ הגיע מהתקן היקפי שכתב בסדר בתים הפוך מזה של ה-CPU של המצלמה.
- מחזיר:
numpy.ndarrayמסוג float באורך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מסוג float במעבר אחד.- פרמטרים:
buffer – חוצץ דמוי-bytes המחזיק את הערכים.
count – מספר האיברים לקריאה.
-1קורא את כל החוצץ מ-offsetעד הסוף.offset – מספר הבתים לדילוג בתחילת החוצץ.
out –
numpy.ndarrayאופציונלי מסוג float, מוקצה מראש, שאליו ייכתב התוצאה. כאשר מסופק, לא מוקצה מערך חדש.byteswap – היפוך סדר הבתים של כל איבר לפני ההמרה – ההגדרה הנכונה כאשר החוצץ הגיע מהתקן היקפי שכתב בסדר בתים הפוך מזה של ה-CPU של המצלמה.
- מחזיר:
numpy.ndarrayמסוג float באורך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¶
החזרת העוצמה של התמרת Fourier הבדידה של הקלט, שקולה מבחינה רעיונית ל-
np.sqrt(real * real + imag * imag)לאחר קריאה ל-numpy.fft.fft()– מבלי להקצות את החוצצים המתווכים שהצורה המפורשת הייתה מקצה.- פרמטרים:
r – החלק הממשי של הקלט כ-
numpy.ndarrayחד-ממדי מסוג float. אורכו חייב להיות חזקה של שתיים.imag – החלק המדומה האופציונלי של הקלט, באותה צורה כמו r. כאשר מושמט, הקלט נחשב כממשי בלבד.
scratchpad – חוצץ עבודה אופציונלי עבור ה-FFT. כאשר מסופק, לא מוקצה מערך עבודה זמני.
out – חוצץ יעד אופציונלי, מוקצה מראש, עבור ספקטרום העוצמה. כאשר מסופק, התוצאה נכתבת אליו ישירות.
log – כאשר
True, מוחזר הלוגריתם הטבעי של העוצמה במקום העוצמה עצמה.
- מחזיר:
numpy.ndarrayמסוג float באותו אורך כמו r המחזיק את העוצמה (או הלוגריתם שלה) בכל תא תדר.