SPIDER is a free image processing system for electron microscopy. It is used for three-dimensional reconstruction of single particle macromolecules, multivariate statistical classification, and electron tomography. See the extensive documentation and many available techniques at www.wadsworth.org/spider_doc/spider/docs/master.html
SPIDER has its own binary format for images and volumes. The SPIDER M-file collection lets users read SPIDER images, volumes, image stacks, and textual document files directly into Matlab data types for processing and visualization.
Bill Baxter (2020). Read SPIDER files (https://www.mathworks.com/matlabcentral/fileexchange/22902-read-spider-files), MATLAB Central File Exchange. Retrieved .
Thank you Bill for a very useful set of routines.
I have discovered a problem with writeSPIDERfile.m when it is used with Octave, an open-source matlab equivalent, so I thought I would share the fix. The problem is that the header length is computed wrong by the line:
labrec = uint32(1024 / lenbyt);
In Octave, at least, "uint32" seems to perform a rounding operation, whereas the correct operation is a "floor". So, the following fix appears to work just fine:
labrec = uint32(floor(1024 / lenbyt));
Data files have been added to the example.