areaDetector  3-12-1
EPICS areaDetector framework
Classes | Macros | Enumerations | Functions
NDPluginCodec.h File Reference
#include "NDPluginDriver.h"

Go to the source code of this file.

Classes

class  NDPluginCodec
 

Macros

#define NDCodecModeString   "MODE" /* (NDCodecMode_t r/w) Mode: Compress/Decompress */
 
#define NDCodecCompressorString   "COMPRESSOR" /* (NDCodecCompressor_t r/w) Which codec to use */
 
#define NDCodecCompFactorString   "COMP_FACTOR" /* (double r/o) Compression percentage (0 = no compression) */
 
#define NDCodecCodecStatusString   "CODEC_STATUS" /* (int r/o) Compression status: success or failure */
 
#define NDCodecCodecErrorString   "CODEC_ERROR" /* (string r/o) Error message if compression fails */
 
#define NDCodecJPEGQualityString   "JPEG_QUALITY" /* (int r/w) JPEG Compression quality */
 
#define NDCodecBloscCompressorString   "BLOSC_COMPRESSOR" /* (NDCodecBloscComp_t r/w) Which Blosc compressor to use */
 
#define NDCodecBloscCLevelString   "BLOSC_CLEVEL" /* (int r/w) Blosc compression level */
 
#define NDCodecBloscShuffleString   "BLOSC_SHUFFLE" /* (bool r/w) Should Blosc apply shuffling? */
 
#define NDCodecBloscNumThreadsString   "BLOSC_NUMTHREADS" /* (int r/w) Number of threads to be used by Blosc */
 
#define FIRST_NDCODEC_PARAM   NDCodecMode
 

Enumerations

enum  NDCodecMode_t { NDCODEC_COMPRESS, NDCODEC_DECOMPRESS }
 Compress/decompress NDArrays according to available codecs. More...
 
enum  NDCodecBloscComp_t {
  NDCODEC_BLOSC_BLOSCLZ, NDCODEC_BLOSC_LZ4, NDCODEC_BLOSC_LZ4HC, NDCODEC_BLOSC_SNAPPY,
  NDCODEC_BLOSC_ZLIB, NDCODEC_BLOSC_ZSTD
}
 
enum  NDCodecStatus_t { NDCODEC_SUCCESS, NDCODEC_WARNING, NDCODEC_ERROR }
 

Functions

NDArraycompressJPEG (NDArray *input, int quality, NDCodecStatus_t *status, char *errorMessage)
 
NDArraydecompressJPEG (NDArray *input, NDCodecStatus_t *status, char *errorMessage)
 
NDArraycompressBlosc (NDArray *input, int clevel, int shuffle, NDCodecBloscComp_t compressor, int numThreads, NDCodecStatus_t *status, char *errorMessage)
 
NDArraydecompressBlosc (NDArray *input, int numThreads, NDCodecStatus_t *status, char *errorMessage)
 
NDArraycompressLZ4 (NDArray *input, NDCodecStatus_t *status, char *errorMessage)
 
NDArraydecompressLZ4 (NDArray *input, NDCodecStatus_t *status, char *errorMessage)
 
NDArraycompressBSLZ4 (NDArray *input, NDCodecStatus_t *status, char *errorMessage)
 
NDArraydecompressBSLZ4 (NDArray *input, NDCodecStatus_t *status, char *errorMessage)
 

Macro Definition Documentation

◆ FIRST_NDCODEC_PARAM

#define FIRST_NDCODEC_PARAM   NDCodecMode

◆ NDCodecBloscCLevelString

#define NDCodecBloscCLevelString   "BLOSC_CLEVEL" /* (int r/w) Blosc compression level */

◆ NDCodecBloscCompressorString

#define NDCodecBloscCompressorString   "BLOSC_COMPRESSOR" /* (NDCodecBloscComp_t r/w) Which Blosc compressor to use */

◆ NDCodecBloscNumThreadsString

#define NDCodecBloscNumThreadsString   "BLOSC_NUMTHREADS" /* (int r/w) Number of threads to be used by Blosc */

◆ NDCodecBloscShuffleString

#define NDCodecBloscShuffleString   "BLOSC_SHUFFLE" /* (bool r/w) Should Blosc apply shuffling? */

◆ NDCodecCodecErrorString

#define NDCodecCodecErrorString   "CODEC_ERROR" /* (string r/o) Error message if compression fails */

◆ NDCodecCodecStatusString

#define NDCodecCodecStatusString   "CODEC_STATUS" /* (int r/o) Compression status: success or failure */

◆ NDCodecCompFactorString

#define NDCodecCompFactorString   "COMP_FACTOR" /* (double r/o) Compression percentage (0 = no compression) */

◆ NDCodecCompressorString

#define NDCodecCompressorString   "COMPRESSOR" /* (NDCodecCompressor_t r/w) Which codec to use */

◆ NDCodecJPEGQualityString

#define NDCodecJPEGQualityString   "JPEG_QUALITY" /* (int r/w) JPEG Compression quality */

◆ NDCodecModeString

#define NDCodecModeString   "MODE" /* (NDCodecMode_t r/w) Mode: Compress/Decompress */

Enumeration Type Documentation

◆ NDCodecBloscComp_t

Enumerator
NDCODEC_BLOSC_BLOSCLZ 
NDCODEC_BLOSC_LZ4 
NDCODEC_BLOSC_LZ4HC 
NDCODEC_BLOSC_SNAPPY 
NDCODEC_BLOSC_ZLIB 
NDCODEC_BLOSC_ZSTD 

◆ NDCodecMode_t

Compress/decompress NDArrays according to available codecs.

This plugin is a source of NDArray callbacks, passing the (possibly compressed/decompressed) NDArray data to clients that register for callbacks. The plugin currently supports the following codecs (if available at compile time):

  • JPEG
  • Blosc
Enumerator
NDCODEC_COMPRESS 
NDCODEC_DECOMPRESS 

◆ NDCodecStatus_t

Enumerator
NDCODEC_SUCCESS 
NDCODEC_WARNING 
NDCODEC_ERROR 

Function Documentation

◆ compressBlosc()

NDArray* compressBlosc ( NDArray input,
int  clevel,
int  shuffle,
NDCodecBloscComp_t  compressor,
int  numThreads,
NDCodecStatus_t status,
char *  errorMessage 
)

◆ compressBSLZ4()

NDArray* compressBSLZ4 ( NDArray input,
NDCodecStatus_t status,
char *  errorMessage 
)

◆ compressJPEG()

NDArray* compressJPEG ( NDArray input,
int  quality,
NDCodecStatus_t status,
char *  errorMessage 
)

◆ compressLZ4()

NDArray* compressLZ4 ( NDArray input,
NDCodecStatus_t status,
char *  errorMessage 
)

◆ decompressBlosc()

NDArray* decompressBlosc ( NDArray input,
int  numThreads,
NDCodecStatus_t status,
char *  errorMessage 
)

◆ decompressBSLZ4()

NDArray* decompressBSLZ4 ( NDArray input,
NDCodecStatus_t status,
char *  errorMessage 
)

◆ decompressJPEG()

NDArray* decompressJPEG ( NDArray input,
NDCodecStatus_t status,
char *  errorMessage 
)

◆ decompressLZ4()

NDArray* decompressLZ4 ( NDArray input,
NDCodecStatus_t status,
char *  errorMessage 
)