Module compression

Module compression 

Source
Expand description

Message compression support for OpenIGTLink

Provides compression/decompression functionality for large messages (images, video, point clouds) to reduce network bandwidth.

§Supported Algorithms

  • Deflate (zlib): Standard compression, good balance of speed and ratio
  • Gzip: Compatible with standard gzip format
  • None: No compression (passthrough)

§Examples

use openigtlink_rust::compression::{compress, decompress, CompressionLevel, CompressionType};

let data = vec![0u8; 10000]; // Large message

// Compress with default level
let compressed = compress(&data, CompressionType::Deflate, CompressionLevel::Default)?;
println!("Original: {} bytes, Compressed: {} bytes", data.len(), compressed.len());

// Decompress
let decompressed = decompress(&compressed, CompressionType::Deflate)?;
assert_eq!(data, decompressed);

Structs§

CompressionStats
Compression statistics

Enums§

CompressionLevel
Compression level
CompressionType
Compression algorithm type

Functions§

compress
Compress data using the specified algorithm and level
decompress
Decompress data using the specified algorithm