SPIDER-PIL Spider 2D image¶
From the Pillow docs:
PIL reads and writes SPIDER image files of 32-bit floating point data (“F;32F”).
PIL also reads SPIDER stack files containing sequences of SPIDER images. The
tell() methods are supported, and
random access is allowed.
write() method sets the following attributes:
- Set to
- Set to 1 if the file is an image stack, else 0.
- Set to the number of images in the stack.
A convenience method,
convert2byte(), is provided for
converting floating point data to byte data (mode
im = Image.open('image001.spi').convert2byte()
Writing files in SPIDER format¶
The extension of SPIDER files may be any 3 alphanumeric characters. Therefore the output format must be specified explicitly:
Parameters for reading¶
- pilmode : str
From the Pillow documentation:
- ‘L’ (8-bit pixels, grayscale)
- ‘P’ (8-bit pixels, mapped to any other mode using a color palette)
- ‘RGB’ (3x8-bit pixels, true color)
- ‘RGBA’ (4x8-bit pixels, true color with transparency mask)
- ‘CMYK’ (4x8-bit pixels, color separation)
- ‘YCbCr’ (3x8-bit pixels, color video format)
- ‘I’ (32-bit signed integer pixels)
- ‘F’ (32-bit floating point pixels)
PIL also provides limited support for a few special modes, including ‘LA’ (‘L’ with alpha), ‘RGBX’ (true color with padding) and ‘RGBa’ (true color with premultiplied alpha).
When translating a color image to grayscale (mode ‘L’, ‘I’ or ‘F’), the library uses the ITU-R 601-2 luma transform:
L = R * 299/1000 + G * 587/1000 + B * 114/1000
- as_gray : bool
- If True, the image is converted using mode ‘F’. When mode is not None and as_gray is True, the image is first converted according to mode, and the result is then “flattened” using mode ‘F’.