Size: 451
Comment:
|
Size: 1696
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Image transforms are achieved using the Transform class. | = Transforming Images (Applying Rotation, Translation, Scale and Mirroring) = |
Line 3: | Line 3: |
{{{ [someone@localhost]$ e2.py |
What follows is a very simply demonstration of using the Transform object to transform EMData (image) objects. A very thorough explanation of using the Transform is presented in [[Eman2TransformInPython|Using the EMAN2 Transform class]] and you are encouraged to at least be aware of that page's existence. == Using EMData.transform == The first example here is a '''3D''' example. {{{#!python [someone@localhost]# e2.py |
Line 10: | Line 16: |
In [3]: e = EMData() | |
Line 12: | Line 17: |
In [4]: e.set_size(32,32,32) | In [3]: e = test_image_3d() # 3D test image |
Line 14: | Line 19: |
In [5]: e.process_inplace('testimage.axes') | In [4]: t = Transform({"type":"eman","az":45,"alt":90}) |
Line 16: | Line 21: |
In [6]: t = Transform({"type":"eman":"az":45,"alt":90}) | In [5]: t.set_trans(1,-2,5) |
Line 18: | Line 23: |
In [7]: t.set_trans(1,-2,5) | In [6]: t.set_scale(2.0) |
Line 20: | Line 25: |
In [8]: t.set_scale(1) | In [7]: e.transform(t) |
Line 22: | Line 27: |
In [9]: e.transform(t) In [9]: display(e) |
In [8]: display(e) |
Line 27: | Line 30: |
This second example is a '''2D''' example. {{{#!python In [9]: e = test_image() # This is a 2D test image In [10]: t = Transform({"type":"2d","alpha":45}) # Note 2D terminology In [11]: t.set_trans(3,-2) # Note 2D translation In [12]: t.set_mirror(True) In [13]: e.transform(t) In [14]: display(e) }}} == Using the Processor Framework == You can use the processor framework to process an EMData object in and out of place. This can be useful when you wish to operate on a copy of the original image, as opposed to altering it. {{{#!python In [15]: t = Transform(....) # Construct a transform as above In [16]: out_of_place = e.process("math.transform",{"transform":t}) # Out of place In [17]: e.process_inplace("math.transform",{"transform":t}) # Inplace In [18]: e.transform(t) # exactly the same as line above }}} |
Transforming Images (Applying Rotation, Translation, Scale and Mirroring)
What follows is a very simply demonstration of using the Transform object to transform EMData (image) objects. A very thorough explanation of using the Transform is presented in Using the EMAN2 Transform class and you are encouraged to at least be aware of that page's existence.
Using EMData.transform
The first example here is a 3D example.
1 [someone@localhost]# e2.py
2
3 Welcome to EMAN2
4 Prompt provided by IPython
5 Enter '?' for ipython help
6
7
8 In [3]: e = test_image_3d() # 3D test image
9
10 In [4]: t = Transform({"type":"eman","az":45,"alt":90})
11
12 In [5]: t.set_trans(1,-2,5)
13
14 In [6]: t.set_scale(2.0)
15
16 In [7]: e.transform(t)
17
18 In [8]: display(e)
This second example is a 2D example.
Using the Processor Framework
You can use the processor framework to process an EMData object in and out of place. This can be useful when you wish to operate on a copy of the original image, as opposed to altering it.