skneuromsi.core.ndresult.compress module

Compress ndresult data and store it in a compressed format.

skneuromsi.core.ndresult.compress.DEFAULT_COMPRESSION_PARAMS = ('lz4', 9)

Default compression parameters. (see joblib.dump)

class skneuromsi.core.ndresult.compress.CompressedNDResult(data: dict, compressed_extra_keys: frozenset, original_memory_usage: object, compressed_memory_usage: object)[source]

Bases: object

A dataclass for storing compressed NDResults.

data: dict

The compressed data

compressed_extra_keys: frozenset

Keys of compressed extra data

original_memory_usage: object

Memory usage of the original NDResult

compressed_memory_usage: object

Memory usage of the compressed NDResult

property compression_ratio

Calculate the compression ratio.

Returns:

The compression ratio.

Return type:

float

skneuromsi.core.ndresult.compress.validate_compression_params(compression_params)[source]

Validate the compression parameters.

Parameters:

compression_params (tuple) – Compression parameters for joblib.dump.

Raises:

ValueError – If the compression parameters are not valid.

skneuromsi.core.ndresult.compress.compress_ndresult(ndresult, *, compression_params=('lz4', 9))[source]

Compress an NDResult object.

Parameters:
  • ndresult (NDResult) – The NDResult object to compress.

  • compression_params (tuple, optional) – Compression parameters for joblib.dumpc compress argument (default is DEFAULT_COMPRESSION_PARAMS).

Returns:

The compressed NDResult object.

Return type:

CompressedNDResult

Raises:
  • TypeError – If the input is not an NDResult object.

  • ValueError – If the compression parameters are not valid.

skneuromsi.core.ndresult.compress.decompress_ndresult(compressed_ndresult)[source]

Decompress an NDResult object.

Parameters:

compressed_ndresult (CompressedNDResult) – The compressed NDResult object to decompress.

Returns:

The decompressed NDResult object.

Return type:

NDResult

Raises:

TypeError – If the input is not a CompressedNDResult object.