EMAN2
Classes | Functions
unit test in Python
Collaboration diagram for unit test in Python:

Classes

class  EMAN::EMData
 EMData stores an image's data and defines core image processing routines. More...
 
class  EMAN::TransposeProcessor
 Transpose a 2D image. More...
 
class  EMAN::FourierToCornerProcessor
 Undo the effects of the FourierToCenterProcessor. More...
 
class  EMAN::FourierToCenterProcessor
 Translates the origin in Fourier space from the corner to the center in y and z Handles 2D and 3D, and handles all combinations of even and oddness Typically you call this function after Fourier transforming a real space image. More...
 
class  EMAN::Phase180Processor
 This class is abstract. More...
 
class  EMAN::PhaseToCenterProcessor
 Translates a cornered image to the center Undoes the PhaseToCornerProcessor. More...
 
class  EMAN::PhaseToCornerProcessor
 Translates a centered image to the corner works for 1D, 2D and 3D images, for all combinations of even and oddness. More...
 
class  EMAN::PhaseToMassCenterProcessor
 ToMassCenterProcessor centers image at center of mass, ignores old dx, dy. More...
 
class  EMAN::ToCenterProcessor
 ToCenterProcessor centers image, ignores old dx, dy. More...
 
class  EMAN::ToMassCenterProcessor
 ToMassCenterProcessor centers image at center of mass, ignores old dx, dy. More...
 
class  EMAN::ACFCenterProcessor
 Center image using auto convolution with 180 degree rotation. More...
 
class  EMAN::Transform
 A Transform object is a somewhat specialized object designed specifically for EMAN2/Sparx storage of alignment parameters and euler orientations. More...
 
class  EMAN::Util
 Util is a collection of utility functions. More...
 
class  EMAN::Vec3< Type >
 The Vec3 object is a templated object, intended to instantiated with basic types such as int, float, double etc. More...
 
class  EMAN::Vec2< Type >
 The Vec2 is precisely the same as Vec3 except it works exclusively in 2D Note there are convenient typedef so one needn't bother about using template terminology typedef Vec2<float> Vec2f; typedef Vec2<int> Vec2i; typedef Vec2double> Vec2d; // Not recommended for use unless precision is addressed in this class. More...
 

Functions

virtual Transform EMAN::Symmetry3D::reduce (const Transform &t3d, int n=0) const
 A function that will reduce an orientation, as characterized by Euler anges, into a specific asymmetric unit. More...
 

Detailed Description

Function Documentation

◆ reduce()

Transform Symmetry3D::reduce ( const Transform t3d,
int  n = 0 
) const
virtual

A function that will reduce an orientation, as characterized by Euler anges, into a specific asymmetric unit.

Default behavior is to map the given orientation into the default asymmetric unit of the symmetry (n=0). This is a concrete implementation that works for all symmetries, relying on a concrete instance of the get_asym_unit_triangles function

Parameters
t3da Transform characterizing an orientation
nthe number of the asymmetric unit you wish to map the given orientation into. There is a strong relationship between n and to Symmetry3D::get_sym
Returns
the orientation the specified asymmetric unit (by default this is the default asymmetric unit of the symmetry)

Definition at line 974 of file symmetry.cpp.

975{
976 // Determine which asym unit the given asym unit is in
977 int soln = in_which_asym_unit(t);
978
979 // This should never happen
980 if ( soln == -1 ) {
981 cout << "error, no solution found!" << endl;
982// throw;
983 return t;
984 }
985
986 // Get the symmetry operation corresponding to the intersection asymmetric unit
987 Transform nt = get_sym(soln);
988 // Transpose it (invert it)
989 nt.invert();
990 // Now we can transform the argument orientation into the default asymmetric unit
991 nt = t*nt;
992 // Now that we're at the default asymmetric unit, we can map into the requested asymmunit by doing this
993 if ( n != 0 ) {
994 nt = nt*get_sym(n);
995 }
996 // Done!
997 return nt;
998
999}
virtual int in_which_asym_unit(const Transform &t3d) const
A function that will determine in which asymmetric unit a given orientation resides The asymmetric un...
Definition: symmetry.cpp:1001
virtual Transform get_sym(const int n) const =0
Every Symmetry3D object must provide access to the full set of its symmetry operators via this functi...
A Transform object is a somewhat specialized object designed specifically for EMAN2/Sparx storage of ...
Definition: transform.h:75
void invert()
Get the inverse of this transformation matrix.
Definition: transform.cpp:1293

References EMAN::Symmetry3D::get_sym(), EMAN::Symmetry3D::in_which_asym_unit(), and EMAN::Transform::invert().

Referenced by EMAN::RandomOrientationGenerator::gen_orientations().