[Chimera-users] Origin of transformation matrices

Daniel Asarnow asarnow at msg.ucsf.edu
Sat Apr 13 18:42:56 PDT 2019

Thanks for the clarification, Tom, and sorry I didn't see your message
right away.

Is the translation from measure rotation also in coordinate units or grid
units? For measure center I know that for volumes the coordinates are
always in grid units (but in Angstroms for the volume eraser and sets of

The cryo-EM processing programs predominantly use the convention that the
origin of an image or volume is N // 2, so the indices are in [0, N - 1]
and the coordinates are in [-N // 2, N // 2 - 1], i.e. there is one more
voxel on the negative side of the axes and the coordinate (0, 0, 0) is
defined as the center of the pixel at index N // 2.

Is Chimera using the convention that the pixels are at the half-integer
coordinates? It's the difference between using N // 2 and N // 2 +/- 0.5 to
form the origin when recovering the translation around (0, 0, 0) using the
formula R * O + T - O. (And assuming the origin index is 0, since none of
the processing packages are setting a different value in output file


On Wed, Apr 10, 2019 at 12:29 PM Tom Goddard <goddard at sonic.net> wrote:

> Hi Daniel,
>   The measure rotation command and fit in map output reports a
> transformation matrix that is a rotation and a translation that maps the
> coordinates of one model to the coordinates of another model, xyz -> R*xyz
> + T where R is the 3x3 rotation matrix and T is the translation vector.
> These are listed as a 3x4 matrix with the first 3 columns being the
> rotation and the 4th column being the translation.
>   The "origin" of density map is the position in the volume coordinate
> system where x,y,z = 0,0,0.  This is often *not* (boxsize/2, boxsize/2,
> boxsize/2).  For instance, for a box size of 100,100,100 the origin may be
> at grid point 49,49,49 instead of 50,50,50.  The exact center of the volume
> is at grid point 49.5,49.5,49.5 in this case where grid indices start at 0,
> ie 0-99.
>   An MRC file has no header value that says whether the origin is set.  In
> other words, in the MRC file, the origin is always set, even if it is
> 0,0,0.  In fact there are two origins specified in the MRC header.  Chimera
> usually uses the xorigin, yorigin, zorigin values
> http://www2.mrc-lmb.cam.ac.uk/research/locally-developed-software/image-processing-software/#image
> for cryoEM maps, but for CCP4 files which is nearly an identical format
> but used mostly for x-ray crystallography it will instead use the nxstart,
> nystart, nzstart header values.  Whether a file is MRC or CCP4 is given by
> word 53 of the header.
>   The origin being used by Chimera is reported in the Volume Viewer, menu
> Features / Coordinates, called Origin Index and is grid index units (not
> Angstroms) with grid indices starting at 0.
> Tom
> On Apr 9, 2019, at 4:17 PM, Daniel Asarnow wrote:
> Hi,
> What's the origin for the rotation/translation output by measure rotation
> or fit-in-map results? If the origin index is 0, is the transformation
> calculated around (0, 0, 0)?
> I'm extending my software for transforming single-particle EM alignment
> parameters to accept a transformation matrix copy-pasted from Chimera and
> am having a slight difficulty. For most EM maps, the origin MRC header is
> not set, and the origin appears to be (0,0,0). Thus, if R and V are the
> rotation and translation from Chimera, the formula R * O + V - O where O is
> the real origin (boxsize / 2, boxsize / 2, boxsize / 2) should give the
> correct translation. However, it's exactly one pixel short.
> Best,
> -da
> _______________________________________________
> Chimera-users mailing list: Chimera-users at cgl.ucsf.edu
> Manage subscription:
> http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20190413/d7151b4d/attachment.html>

More information about the Chimera-users mailing list