Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

unit test in Python
[tested]


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.

Function Documentation

Transform Symmetry3D::reduce const Transform t3d,
int  n = 0
const [virtual, inherited]
 

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:
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
Returns:
the orientation the specified asymmetric unit (by default this is the default asymmetric unit of the symmetry)

Definition at line 948 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().

00949 {
00950         // Determine which asym unit the given asym unit is in
00951         int soln = in_which_asym_unit(t);
00952 
00953         // This should never happen
00954         if ( soln == -1 ) {
00955                 cout << "error, no solution found!" << endl;
00956 //              throw;
00957                 return t;
00958         }
00959 
00960         // Get the symmetry operation corresponding to the intersection asymmetric unit
00961         Transform nt = get_sym(soln);
00962         // Transpose it (invert it)
00963         nt.invert();
00964         // Now we can transform the argument orientation into the default asymmetric unit
00965         nt  = t*nt;
00966         // Now that we're at the default asymmetric unit, we can map into the requested asymmunit by doing this
00967         if ( n != 0 ) {
00968                 nt = nt*get_sym(n);
00969         }
00970         // Done!
00971         return nt;
00972 
00973 }


Generated on Tue Jun 11 13:41:45 2013 for EMAN2 by  doxygen 1.3.9.1