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
Definition at line 911 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(). 00912 {
00913 // Determine which asym unit the given asym unit is in
00914 int soln = in_which_asym_unit(t);
00915
00916 // This should never happen
00917 if ( soln == -1 ) {
00918 cout << "error, no solution found!" << endl;
00919 // throw;
00920 return t;
00921 }
00922
00923 // Get the symmetry operation corresponding to the intersection asymmetric unit
00924 Transform nt = get_sym(soln);
00925 // Transpose it (invert it)
00926 nt.invert();
00927 // Now we can transform the argument orientation into the default asymmetric unit
00928 nt = t*nt;
00929 // Now that we're at the default asymmetric unit, we can map into the requested asymmunit by doing this
00930 if ( n != 0 ) {
00931 nt = nt*get_sym(n);
00932 }
00933 // Done!
00934 return nt;
00935
00936 }
|
1.3.9.1