Support reading 3d-grid data from cryo-electron microscopy tomography and X-ray crystallography
Comparison against experimental data within simulation or trajectory analysis requires reading from and writing to common experimental data formats.
For cryo-electron microscopy and X-ray crystallography, the common vanilla data format is the ccp4/mrc format, even though the standard slightly diverged,
I suggest implementation of the electron microscopy database (EMDB) ccp4/mrc format, documented here
Imlementation of other standers should be straightforward from there, if needed.
Other format specifications can be found here:
The ccp4/mrc density format should also be useful for any 3d-density output, e.g. from analysis tools, since it is agnostic to the source of the data.
densityfitting - density file format (mrc) header.
Implements mrc/cc4/map format file headers as decribed in
"EMDB Map Distribution Format Description Version 1.01 (c)
Reading and writing is part of a follow-up patch.
Add support for serializing 32-bit integers
Some file formats explicitly require this size, which we should
support explicitly. Note that C++ requires that int be at least 16
bits. In practice on current systems it is always 32 bits, but being
explicit might help future portability if any architecture would use
Also added some support for unsigned 32- and 64-bit integers where
I saw it was missing and might be useful.
Added some test coverage where it already exists.