pwem.protocols.protocol_projection_edit module
- class pwem.protocols.protocol_projection_edit.ProtProjectionEditor(**kwargs)[source]
Bases:
EMProtocol
This protocol edits the projection directions of all the items of a set of particles using a formula. This could be useful for applying geometrical transformation to a set of particles.
Several predefined operation are offered such as * apply the rotation matrix define by an origin vector and a target vector * rotate the projection vector around a given vector by A degrees * convert between icosahedral symmetries * convert between dihedral symmetries * convert between tetrahedral symmetries
- CHOICE_DIHEDRAL = 3
- CHOICE_ICOSAHEDRAL = 2
- CHOICE_LABEL = {0: 'move source vector to target vector', 1: 'rotate around vector', 2: 'convert between icosahedral symmetries', 3: 'convert between dihedral symmetries', 4: 'convert between tetrahedral symmetries', 5: 'move to unit cell'}
- CHOICE_MOVE_UC = 5
- CHOICE_MOVE_VECTOR = 0
- CHOICE_ROTATE_VECTOR = 1
- CHOICE_TETRAHEDRAL = 4
- DIHEDRAL_SYM_NAME = {1: 'Dxn', 2: 'Dyn'}
- ICOSAHEDRAL_SYM_NAME = {7: 'I222', 8: 'I222r', 9: 'In25', 10: 'In25r', 11: 'I2n3', 12: 'I2n3r', 13: 'I2n5', 14: 'I2n5r'}
- TETRAHEDRAL_SYM_NAME = {3: 'T222', 4: 'Tz3', 5: 'Tz3r'}
- moveToUCStep()[source]
Moves the particle alignment information to the same unit cell based on the symmetry specified.
- rotateDiStep()[source]
Compute rotation matrix from one dihedral symmetry to another and apply it to the projection directions
- rotateIcosahedralStep()[source]
Compute rotation matrix from one icosahedral symmetry to another and apply it to projection directions. Reconstructed volume should change symmetry
- rotateStep()[source]
- Compute rotation matrix between user provided vectors
(x,y,z) and (x’,y’,z’) and apply it
to projection directions. Reconstructed volume should rotate