The BZIP2_COMPRESS function compresses a given input array using the bzip2 compression algorithm, and returns a byte array containing the compressed data along with the metadata describing the compressed data. The compression is done using the IDL-Python bridge to access the Python bz2 library.
The compressed data can be uncompressed using the BZIP2_UNCOMPRESS function.
Examples
Here, we compress and uncompress a float array just like in ZLIB_COMPRESS:
data = findgen(100, 200)
zdata = bzip2_compress(data)
help, zdata
dataout = bzip2_uncompress(zdata, TYPE=4, DIMENSIONS=[100, 200])
print, array_equal(dataout, data)
IDL prints:
zdata BYTE = Array[18282]
1
Since the float array has a total of 80,000 bytes, the compression space savings is about 77%.
Syntax
Result = bzip2_compress( Array[, COMPRESS_LEVEL=value]
)
Arguments
Array
Set this argument to an array of any IDL numeric type or a string.
Keywords
COMPRESS_LEVEL
Set this keyword to an integer in the range 1-9 giving the desired compression level. A value of 1 gives the least compression, while 9 (default) gives the most compression.
Note: Note that for low compression levels (or highly-random data), the size of the compressed result may be larger than the original data.
Version History
See Also
ZLIB_COMPRESS, ZLIB_UNCOMPRESS, BZIP2_UNCOMPRESS