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::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::Transform3D |
Transform3D These are a collection of transformation tools: rotation, translation, and construction of symmetric objects. 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
Definition at line 891 of file symmetry.cpp. References EMAN::Symmetry3D::get_sym(), EMAN::Symmetry3D::in_which_asym_unit(), and EMAN::Transform::invert(). Referenced by EMAN::RandomOrientationGenerator::gen_orientations(). 00892 { 00893 // Determine which asym unit the given asym unit is in 00894 int soln = in_which_asym_unit(t); 00895 00896 // This should never happen 00897 if ( soln == -1 ) { 00898 cout << "error, no solution found!" << endl; 00899 throw; 00900 } 00901 00902 // Get the symmetry operation corresponding to the intersection asymmetric unit 00903 Transform nt = get_sym(soln); 00904 // Transpose it (invert it) 00905 nt.invert(); 00906 // Now we can transform the argument orientation into the default asymmetric unit 00907 nt = t*nt; 00908 // Now that we're at the default asymmetric unit, we can map into the requested asymmunit by doing this 00909 if ( n != 0 ) { 00910 nt = nt*get_sym(n); 00911 } 00912 // Done! 00913 return nt; 00914 00915 }
|