Project

General

Profile

How to Update from v16 (Microscope Windows Computer) » History » Version 13

Anchi Cheng, 06/14/2010 08:10 PM

1 5 Anchi Cheng
h1. How to Update from v1.6 (Microscope Windows Computer)
2 1 Anchi Cheng
3 3 Anchi Cheng
The changes from v1.6 requires update of all in-house components of Leginon, dbemtools and database but not the php-mrctools. 
4 2 Anchi Cheng
Don't forget that you need to also update the packages on the microscope-controlling computer
5
since the pyScope update need to be synchronized.
6 1 Anchi Cheng
7 2 Anchi Cheng
See [[Installation Troubleshooting]] and  "Leginon Bulletin Board":http://emg.nysbc.org/bb/viewforum.php?f=2  searching
8 1 Anchi Cheng
for "install" if you run into problems.
9
10
h2. Packages required from NRAMM
11
12 2 Anchi Cheng
All Leginon (and Appion) packages distributed from NRAMM are now under one svn control.
13
14
A few updates are needed for preparation of python 3.0 compatibility where the method for importing module is changed.  They will still run under python 2.4 and up.
15 1 Anchi Cheng
Here are the packages you need to install with python installer
16
17 2 Anchi Cheng
|_.SVN subPackage Name|_.Reason for update:|
18
|leginon|new features|
19
|pyami|new features|
20
|sinedon|required for updating database|
21
|pyscope|new method for creating pythoncom modules|
22
|imageviewer|debug|
23 1 Anchi Cheng
24
Because numextension and libcv requires extra compiler, we have created
25 8 Anchi Cheng
window installer for them for python 2.5 and made them available at http://emg.nysbc.org/projects/leginon/files.
26 1 Anchi Cheng
27 8 Anchi Cheng
|_.Downloadfile Name|_.Purpose:|
28
|numextension-2.0.0.win32-py2.5.exe|c extension for numerical processing|
29
|comarray-2.0.0.win32-py2.5.exe|com module output conversion to array|
30
|libCV-0.2.win32-py2.5.exe|small c library of algorithm from computer vision field|
31
32 12 Anchi Cheng
h2. Download Leginon 2.0 source code
33
34 13 Anchi Cheng
h3. Check out SVN Source Files from the repository
35 1 Anchi Cheng
36 2 Anchi Cheng
Assuming that you have installed some kind of svn client such as TortoiseSVN "http://tortoisesvn.tigris.org/", you can use your mouse to do the following
37
*Create Leginon2.0 directory somewhere at your convenience
38
*Change directory into Leginon2.0
39
*Right-click the mouse botton in this directory window and select Tortoise svn
40
Checkout in the menu:!http://emg.nysbc.org/software/leginon/images/images/svnmenu.png!
41 9 Anchi Cheng
*Set up svn checkout window like this, but check out from http://emg.nysbc.org/svn/myami/branches/myami-2.0 and save it to Leginon2.0 folder !http://emg.nysbc.org/software/leginon/images/images/svnco.png!
42 2 Anchi Cheng
43
44
h2. Perform system check if you can't remember where you have installed your Leginon before.
45
46
*Go to ~/Leginon2.0/leginon
47
*Double click on syscheck.py
48
49
You should have all the supporting packages installed for v1.6. If you see any lines like "*** Failed...", then you have something missing. Otherwise, everything should result in "OK".
50
51 10 Anchi Cheng
h2. Uninstall your existing NRAMM packages:
52 1 Anchi Cheng
53 10 Anchi Cheng
Although new installation overwrite the old in most cases, problem has been observed in the past. Therefore, it is best to remove the old files before new installation.
54 1 Anchi Cheng
55
Use "Add or Remove Programs" application in "Control Panel" to do this. Leginon related
56
packages are shown with prefix "Python 2.5"
57
58 10 Anchi Cheng
Remove only packages from NRAMM but not the suppporting packages.  The NRAMM packages that you may find in "Add or Remove Programs" are
59
|pyScope|
60
|numextension|
61
|comarray|
62
|libCV|
63
64 1 Anchi Cheng
If you didn't use Installer to install previously, the packages may not show up in the
65 10 Anchi Cheng
Programs list. Simply remove or rename the folder containing the old packages in this case as described next.
66 1 Anchi Cheng
67
h2. Move your existing packages to a backup directory:
68
69
At the beginning of the syscheck.py output, the location of the exisiting Leginon folder is shown. Although new installation overwrite the old in most cases, problem has been observed in the past. Therefore, it is best to remove the old files from the path before new installation.  Better yet, copy into a backup folder because we need some configuration files from them.
70 10 Anchi Cheng
You may find these folders here:
71
|Leginon|
72
|pyScope|
73
|sinedon|
74
|pyami|
75
|ImageViewer|
76 1 Anchi Cheng
77
For example, your Leginon folder is at C:\\python25\Lib\site-packages\Leginon
78 2 Anchi Cheng
79
<pre>Go to C\\python25\site-packages
80 1 Anchi Cheng
Create Leginon1_6_backup folder
81 10 Anchi Cheng
Move Leginon folder into Leginon1_6_backup folder</pre>
82 1 Anchi Cheng
83
Be aware that in some cases the installed package name is different (capitalized) from your svn package name and that numextension amd libCV are not in its own subdirectory in the python library but just the compiled .so files
84 8 Anchi Cheng
85
h2. Install the Windows Installer Files from Leginon website http://emg.nysbc.org/projects/leginon/files
86
87
Execute the installer files and follow the instructions.
88 1 Anchi Cheng
89 10 Anchi Cheng
h2. Install other subpackages you downloaded from NRAMM svn repository.  You don't need to repeat ones you've already installed using the installer files.
90 2 Anchi Cheng
91 1 Anchi Cheng
* Start a command line Window from Start Menu
92
93
* Reinstall the package in each folder with commands such as
94 2 Anchi Cheng
<pre>cd Your_Download_Place\Leginon 2.0\leginon
95 1 Anchi Cheng
c:\\python25\python.exe setup.py install</pre>
96 2 Anchi Cheng
* run syscheck.py again to make sure you have everything.
97 1 Anchi Cheng
98 2 Anchi Cheng
h2. Copy your Leginon1.6 sinedon.cfg to the new installation
99 1 Anchi Cheng
100 2 Anchi Cheng
* Find your sinedon.cfg. Depending on your previous setting, look in the directories listed here in order:
101
*your home directory as described in syscheck.py
102
*The sinedon directory where it is called from. If unsure, start python command line and type these to find out:
103
<pre>python> import sinedon
104
python> sinedon</pre>
105 1 Anchi Cheng
106 2 Anchi Cheng
*  If sinedon.cfg reside in the installed sinedon subpackage, you should copy it from your Leginon1.6 backup to the new installation.
107
<pre>go to  C:\\python25\Lib\site-packages\
108
copy Leginon_1_6_backup\sinedon\sinedon.cfg  into the new sinedon folder
109
</pre>
110 6 Anchi Cheng
111 7 Anchi Cheng
h2. Copy your Leginon1.6 Instruments.cfg to the new installation:
112
113
* instruments.cfg is in the pyScope folder of your Leginon 1.6 backup to the new pyscope folder under site-packages directory.
114
115
h2. Run updatecom.py
116
117
From a command line window:
118
119
<pre>cd C:\python25\Lib\Site-Packages\pyScope
120
C:\python25\python.exe updatecom.py</pre>
121
122
The python window appears should say show the required type libraries it found:
123
<pre>
124
Generating .py files from type libraries...
125
initializing TEM Scripting Error, cannot find typelib for "TEM Scripting"
126
initializing Tecnai Scripting done.
127
initializing TOM Moniker done.
128
initializing Tecnai Low Dose Kit done.
129
initializing Tecnai Exposure Adaptor done.
130
131
initializing Tietz CCD Camera done.
132
</pre>
133
The output depending on what is available on your microscope computer.  You should have either "Tecnai Scripting" or the pairing of  "TEM Scripting" and "TOM Moniker".
134
135
The script should generate a few files in C:\\python25\Lib\win32com\gen_py with seemly scrambled names such as BC0A2B03-19FF-11D3-AE00-00A024CBA50Cx0x1x9.py
136
137
h2. modify Tietz PXL camera imaging size if you did so before for Leginon 1.6
138
139
*You should not copy the old one in this case since the file has been changed*
140
*  Go to C:\Python25\Lib\site-packages\pyscope\
141
142
*  Edit tietz.py with a plain text editor
143
144
145
*  Find the lines:
146
147
<pre> def getCameraSize(self):
148
# {'type': dict, 'values': {'x': {'type': int}, 'y': {'type': int}}}}
149
x = self._getParameterValue('cpTotalDimensionX')
150
y = self._getParameterValue('cpTotalDimensionY')
151
return {'x': x, 'y': y}
152
</pre>
153
154
*  Change the last line to:
155
156
<pre>    return {'x': 2048, 'y': 2048}</pre>
157
158
159 6 Anchi Cheng
______
160
161 11 Anchi Cheng
[[How_to_Update_from_v16_(Linux)|< How to Update from v1.6 (Linux)]] | [[Preparation before Using v2.0 Routinely|Preparation before Using v2.0 Routinely >]]
162 6 Anchi Cheng
163
164
______