DIPlib Documentation - ©1995-2015 Quantitative Imaging Group, Delft University of Technology.

# File formats recognized by dipIO

## The Registry

A number of file reading and writing functions are included in dipIO. These are registered in the `ImageReadRegistry` and the `ImageWriteRegistry`. Through this registry, `ImageRead` and `ImageWrite` are able to read from and write to any registered file format. You can add your own functions to these (the interface functions for this are not documented yet), thereby increasing the possibilities of `ImageRead` and `ImageWrite`.

Below you can find a list of currently supported file formats for both reading and writing. To obtain the format ID from the registry, you need to include the specified file and call the specified function.

## Reading

These are the file formats currently supported for reading:

format | include file | registry ID retrieval function | dimensionality | colour | data types
ICS (Image Cytometry Standard) | `dipio_ics.h` | `dipio_ReadICSID` | any | yes | any
TIFF (Tagged Image File Format) | `dipio_tiff.h` | `dipio_ReadTIFFID` | 2D | yes | any
PNG (Portable Network Graphics) [not yet implemented!] | `dipio_png.h` | `dipio_ReadPNGID` | 2D | yes | uint8 and uint16
JPEG (JPEG File Interchange Format) | `dipio_jpeg.h` | `dipio_ReadJPEGID` | 2D | yes | uint8
GIF (Graphics Interchange Format) | `dipio_gif.h` | `dipio_ReadGIFID` | 2D | yes | uint8
LSM (Zeiss LSM file format) | `dipio_lsm.h` | `dipio_ReadLSMID` | 1D - 4D | no | uint8, uint16 and sfloat
PIC (BioRad PIC file format) | `dipio_pic.h` | `dipio_ReadPICID` | 2D and 3D | no | uint8
CVS (Comma Separated Values) | `dipio_csv.h` | `dipio_ReadCSVID` | 2D | no | sfloat

## Writing

These are the file formats currently supported for writing:

format | include file | registry ID retrieval function | dimensionality | colour | data types
ICS v1 (Image Cytometry Standard) | `dipio_ics.h` | `dipio_WriteICSv1ID` | any | yes | any
ICS v2 (Image Cytometry Standard) | `dipio_ics.h` | `dipio_WriteICSv2ID` | any | yes | any
TIFF (Tagged Image File Format) | `dipio_tiff.h` | `dipio_WriteTIFFID` | 2D | yes | any in grey-value, uint8 in colour
PNG (Portable Network Graphics) [not yet implemented!] | `dipio_png.h` | `dipio_WritePNGID` | 2D | yes | uint8 and uint16
JPEG (JPEG File Interchange Format) | `dipio_jpeg.h` | `dipio_WriteJPEGID` | 2D | yes | uint8
GIF (Graphics Interchange Format) | `dipio_gif.h` | `dipio_WriteGIFID` | 2D | no | uint8
CVS (Comma Separated Values) | `dipio_csv.h` | `dipio_WriteCSVID` | 2D | no | any except complex
FLD (AVS field file) | `dipio_fld.h` | `dipio_WriteFLDID` | any | no | any
PS (PostScript) | `dipio_ps.h` | `dipio_WritePSID` | 2D | yes | uint8, others automatically converted
EPS (Encapulated PostScript) | `dipio_ps.h` | `dipio_WriteEPSID` | 2D | yes | uint8, others automatically converted