Skip to content

POD5 API Signal Tools Reference

Tools for handling pod5 signals

vbz_compress_signal

vbz_compress_signal(signal: NDArray[int16]) -> NDArray[uint8]

Compress a numpy array of signal data

Parameters:

Name Type Description Default
signal ndarray[int16]

The array of signal data to compress.

required

Returns:

Name Type Description
compressed_signal array[uint8]

The compressed signal data as a numpy.ndarray[uint8] (byte array)

vbz_compress_signal_chunked

vbz_compress_signal_chunked(
    signal: NDArray[int16], signal_chunk_size: int = DEFAULT_SIGNAL_CHUNK_SIZE
) -> Tuple[List[NDArray[uint8]], List[int]]

Compress a numpy array of signal data into chunks

Parameters:

Name Type Description Default
signal ndarray[int16]

The array of signal data to compress.

required
signal_chunk_size int

The number of signal samples in a chunk

DEFAULT_SIGNAL_CHUNK_SIZE

Returns:

Name Type Description
compressed_signal_chunks List[array[uint8]]

A List of chunks of compressed signal data as numpy.ndarray[uint8] (byte arrays)

signal_chunk_lengths List[int]

The number of uncompressed signal samples in each chunk

vbz_decompress_signal

vbz_decompress_signal(
    compressed_signal: Union[NDArray[uint8], memoryview], sample_count: int
) -> NDArray[int16]

Decompress a contiguous (not-chunked) numpy array of compressed signal data

Parameters:

Name Type Description Default
compressed_signal ndarray[uint8]

The array of compressed signal data to decompress.

required
sample_count int

The number of samples in the original signal

required

Returns:

Type Description
A decompressed signal array numpy.ndarray[int16]

vbz_decompress_signal_chunked

vbz_decompress_signal_chunked(
    compressed_signal_chunks: List[NDArray[uint8]], sample_counts: List[int]
) -> NDArray[int16]

Decompress a chunks of numpy array of compressed signal data

Parameters:

Name Type Description Default
compressed_signal_chunks List[ndarray[uint8]]

A list of compressed signal data chunks to decompress.

required
sample_counts List[int]

The number of samples in the original signal chunks

required

Returns:

Type Description
A decompressed signal array numpy.ndarray[int16]

Raises:

Type Description
ValueError

Inconsistent parameter lengths

vbz_decompress_signal_into

vbz_decompress_signal_into(
    compressed_signal: Union[NDArray[uint8], memoryview], output_array: NDArray[int16]
) -> NDArray[int16]

Decompress a numpy array of compressed signal data into the destination "output_array"

Parameters:

Name Type Description Default
compressed_signal ndarray[uint8]

The array of compressed signal data to decompress.

required
output_array ndarray[int16]

The destination location for signal

required

Returns:

Type Description
A decompressed signal array numpy.ndarray[int16]