Xmipp

Supported Image Formats

Ximpp supports the following image file formats/extensions:

Extension Filetype Read Write Image Volume Stack Data types
raw# Raw files without header info 1 x   x x   All 2
spi,xmp,vol,stk Spider x x x x x float, cfloat
mrc,map,st,mrcs Medical Research Council 3,4 x x x x x uint8, (u)int16, float, cfloat
hed/img Imagic x x x   x uint8, int16, float
inf/raw Xmipp raw format x x x x   (u)int8, (u)int16, float
tiff TIFF x x x   x uint8, uint16, uint32, float
jpg Jpeg x x x     uint8
dm3 Digital Micrograph 3 x   x   x int8, (u)int16, (u)int32, float, double
ser TIA (Tecnai imaging and analysis) x   x   x (u)int8, (u)int16, (u)int32, float, double, cfloat, cdouble
spe Princeton Instrument CCD camera (Win Spec) x   x     uint16
em EM Software Package x   x x   int8, int16, int32, float, cfloat, cdouble
pif Portable Image Format for EM x   x x x int8, int16, int32, float, cfloat
hdf,hdf5,h5 Hierarchical Data Format x   x x x All 2

1 For image files whose format is not supported or you don't have its header file, you can try to read it manually. The way to pass the header info to Xmipp is after the filename in this way:

image.ext#xDim,yDim,[zDim],offset,datatype,[r]

where the parameters are: the pixel dimensions in X, Y axis and optionally Z for volumes, position in bytes where the image data starts and datatype**. By default Xmipp reads in current machine byte order or reverse if r is provided at the end.

2 The bit depth or data type can be: uint8 (uchar), int8 (char), uint16 (ushort), int16 (short), uint32, int32, long, float, double, cint16 (complex int16), cint32 (complex int32), cfloat (complex float), cdouble (complex double) and bool.

3 The origin convention between CCP4 and MRC2000 is automaticaly detected as described in http://situs.biomachina.org/fmap.pdf. XMIPP read mrc files following the "unsigned" 8-bit convention (MODE 0) although "signed" 8-bit files can also be read as raw files. First read header info using image_header, then read the file as described in 1 but using int8 as datatype.

4To differentiate as to whether a file represents a cube or 2D planes we use the following convention: The parameter ISPG, represents Space Group Numbers. For 3D volumes of single particle or tomogram entries, ISPG=1 and NSYMBT=0. For image planes ISPG=0 and NSYMBT=0. To manually force an image file to be read as a volume or stack, write the filename with the following suffixes, ":mrc" for volume and :mrcs" for stack. In case ISPG=401 the data is read as a stack of volumes, being the mz field in header the number of volumes in the stack.