EMAN2

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::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. 
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
t3d  a Transform characterizing an orientation 
n  the 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 
Definition at line 950 of file symmetry.cpp.
References EMAN::Symmetry3D::get_sym(), EMAN::Symmetry3D::in_which_asym_unit(), EMAN::Transform::invert(), and t.
Referenced by EMAN::RandomOrientationGenerator::gen_orientations().
{ // Determine which asym unit the given asym unit is in int soln = in_which_asym_unit(t); // This should never happen if ( soln == 1 ) { cout << "error, no solution found!" << endl; // throw; return t; } // Get the symmetry operation corresponding to the intersection asymmetric unit Transform nt = get_sym(soln); // Transpose it (invert it) nt.invert(); // Now we can transform the argument orientation into the default asymmetric unit nt = t*nt; // Now that we're at the default asymmetric unit, we can map into the requested asymmunit by doing this if ( n != 0 ) { nt = nt*get_sym(n); } // Done! return nt; }