author:Mark Rivers, University of Chicago


NDFileJPEG inherits from NDPluginFile. This plugin saves data in the JPEG file format, which is a compressed file format for storing images. There is JPEG support for almost all languages and programs such as IDL and Matlab.

The JPEG plugin is limited to 8-bit arrays. It supports all color modes (Mono, RGB1, RGB2, and RGB3). It is limited to a single array per file, but capture and stream mode are supported by writing multiple JPEG files.

The JPEG plugin supports the Int32 parameter NDFileJPEGQuality to control the amount of compression in the file. This parameter varies from 0 (maximum compression, lowest quality) to 100 (least compression, best quality). NDFileJPEG.template defines 2 records to support this: $(P)$(R)JPEGQuality (longout) and $(P)$(R)JPEGQuality_RBV (longin).

The NDFileJPEG class documentation describes this class in detail.


The NDFileJPEG plugin is created with the NDFileJPEGConfigure command, either from C/C++ or from the EPICS IOC shell.

NDFileJPEGConfigure (const char *portName, int queueSize, int blockingCallbacks,
                     const char *NDArrayPort, int NDArrayAddr, size_t maxMemory,
                     int priority, int stackSize)

For details on the meaning of the parameters to this function refer to the detailed documentation on the NDFileJPEGConfigure function in the NDFileJPEG.cpp documentation and in the documentation for the constructor for the NDFileJPEG class.