# areaDetector Plugin NDFileTIFF

## October 7, 2014

## Mark Rivers

## University of Chicago

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

The TIFF plugin supports all 8 NDArray data types (signed and unsigned 8, 16, 32 bit integers, 32 and 64 bit floating point. It supports all color modes (Mono, RGB1, RGB2, and RGB3). Note that many TIFF readers do not support 16 or 32 bit integer TIFF files, floating point TIFF files, and 16 or 32 bit color files. NDFileTIFF is limited to a single array per file, but capture and stream mode are supported by writing multiple TIFF files.

Tests were done with IDL, ImageJ, and the Python Imaging Library (PIL) to read TIFF files with all 8 data types. IDL can read all 8 types, although it does not support signed 8-bit integers so it treats them as unsigned. ImageJ can read all types except NDFloat64. PIL cannot read NDInt8, NDUInt32, or NDFloat64.

The NDFileNetTIFF class documentation describes this class in detail.

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

    NDFileTIFFConfigure (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 NDFileTIFFConfigure function in the NDFileTIFF.cpp documentation and in the documentation for the constructor for the NDFileTIFF class.

### NDFileTIFF.adl