Size: 566
Comment:
|
Size: 1697
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 9: | Line 9: |
t = Transform3D(EULER_EMAN,10,23,0) # three angles in the EMAN convention are az=10,alt=23,phi=0. The convention may also be EULER_SPIDER, EULER_IMAGIC, EULER_MRC, EULER_SPIN, EULER_XYZ | t = Transform3D(EULER_EMAN,10,23,0) # three angles in the EMAN convention are az=10,alt=23,phi=0. # The convention may also be EULER_SPIDER, EULER_IMAGIC, EULER_MRC, EULER_SPIN, EULER_XYZ |
Line 15: | Line 16: |
This next section will look better once we get mathml working | |
Line 16: | Line 18: |
=== Transforms and Euler Angles in the context of Projections === | A pixel given at coordinate vector v = [x,y,z]^T will be transformed using the following" {{{`vhat = T_post R T_pre v`}}} Where the rotation matrix R and associated conventions are defined in Baldwin and Penczek 2007. === Transformations and projections === Say the data model is a 3D map denoted M(x,y,z) and a projection is to be generated in a particular direction. The model may also be pre and/or post translated as part of the projection process. The translation information along with the direction of the projection is to be stored in a Transform3D object T, and the projection is to be generated according to or equivalently to the following {{{`p(x,y) = int T M(x,y,z) dz`}}} That is, the projection is generated by first transforming the 3D map M by the Transform3D object, and proceeded by taking line integrals along z. === Transformations and recontructors === In order to insert a projection as generated in the conventional way (above) into a 3D volume in the correct orientation, one must invert the Transform3D object that was used to generate the projection prior to slice insertion. |
Transformations in the context of projections, reconstructions, and in general
Transforming an EMData object
An EMData object may be transformed using the following syntax
1 e = EMData("mydata.hdf")
2 t = Transform3D(EULER_EMAN,10,23,0) # three angles in the EMAN convention are az=10,alt=23,phi=0.
3 # The convention may also be EULER_SPIDER, EULER_IMAGIC, EULER_MRC, EULER_SPIN, EULER_XYZ
4 t.set_pretrans(1,1,1)
5 t.set_postrans(2,2,2)
6 e.rotate_translate(t)
This next section will look better once we get mathml working
A pixel given at coordinate vector v = [x,y,z]^T will be transformed using the following"
`vhat = T_post R T_pre v`
Where the rotation matrix R and associated conventions are defined in Baldwin and Penczek 2007.
Transformations and projections
Say the data model is a 3D map denoted M(x,y,z) and a projection is to be generated in a particular direction. The model may also be pre and/or post translated as part of the projection process. The translation information along with the direction of the projection is to be stored in a Transform3D object T, and the projection is to be generated according to or equivalently to the following
`p(x,y) = int T M(x,y,z) dz`
That is, the projection is generated by first transforming the 3D map M by the Transform3D object, and proceeded by taking line integrals along z.
Transformations and recontructors
In order to insert a projection as generated in the conventional way (above) into a 3D volume in the correct orientation, one must invert the Transform3D object that was used to generate the projection prior to slice insertion.