Project

General

Profile

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

Anchi Cheng, 06/14/2010 08:02 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
{{include(appion:Download_Appion_Files_Shared)}}
35
36 9 Anchi Cheng
h2. Check out SVN Source Files from the repository
37 1 Anchi Cheng
38 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
39
*Create Leginon2.0 directory somewhere at your convenience
40
*Change directory into Leginon2.0
41
*Right-click the mouse botton in this directory window and select Tortoise svn
42
Checkout in the menu:!http://emg.nysbc.org/software/leginon/images/images/svnmenu.png!
43 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!
44 2 Anchi Cheng
45
46
h2. Perform system check if you can't remember where you have installed your Leginon before.
47
48
*Go to ~/Leginon2.0/leginon
49
*Double click on syscheck.py
50
51
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".
52
53 10 Anchi Cheng
h2. Uninstall your existing NRAMM packages:
54 1 Anchi Cheng
55 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.
56 1 Anchi Cheng
57
Use "Add or Remove Programs" application in "Control Panel" to do this. Leginon related
58
packages are shown with prefix "Python 2.5"
59
60 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
61
|pyScope|
62
|numextension|
63
|comarray|
64
|libCV|
65
66 1 Anchi Cheng
If you didn't use Installer to install previously, the packages may not show up in the
67 10 Anchi Cheng
Programs list. Simply remove or rename the folder containing the old packages in this case as described next.
68 1 Anchi Cheng
69
h2. Move your existing packages to a backup directory:
70
71
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.
72 10 Anchi Cheng
You may find these folders here:
73
|Leginon|
74
|pyScope|
75
|sinedon|
76
|pyami|
77
|ImageViewer|
78 1 Anchi Cheng
79
For example, your Leginon folder is at C:\\python25\Lib\site-packages\Leginon
80 2 Anchi Cheng
81
<pre>Go to C\\python25\site-packages
82 1 Anchi Cheng
Create Leginon1_6_backup folder
83 10 Anchi Cheng
Move Leginon folder into Leginon1_6_backup folder</pre>
84 1 Anchi Cheng
85
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
86 8 Anchi Cheng
87
h2. Install the Windows Installer Files from Leginon website http://emg.nysbc.org/projects/leginon/files
88
89
Execute the installer files and follow the instructions.
90 1 Anchi Cheng
91 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.
92 2 Anchi Cheng
93 1 Anchi Cheng
* Start a command line Window from Start Menu
94
95
* Reinstall the package in each folder with commands such as
96 2 Anchi Cheng
<pre>cd Your_Download_Place\Leginon 2.0\leginon
97 1 Anchi Cheng
c:\\python25\python.exe setup.py install</pre>
98 2 Anchi Cheng
* run syscheck.py again to make sure you have everything.
99 1 Anchi Cheng
100 2 Anchi Cheng
h2. Copy your Leginon1.6 sinedon.cfg to the new installation
101 1 Anchi Cheng
102 2 Anchi Cheng
* Find your sinedon.cfg. Depending on your previous setting, look in the directories listed here in order:
103
*your home directory as described in syscheck.py
104
*The sinedon directory where it is called from. If unsure, start python command line and type these to find out:
105
<pre>python> import sinedon
106
python> sinedon</pre>
107 1 Anchi Cheng
108 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.
109
<pre>go to  C:\\python25\Lib\site-packages\
110
copy Leginon_1_6_backup\sinedon\sinedon.cfg  into the new sinedon folder
111
</pre>
112 6 Anchi Cheng
113 7 Anchi Cheng
h2. Copy your Leginon1.6 Instruments.cfg to the new installation:
114
115
* instruments.cfg is in the pyScope folder of your Leginon 1.6 backup to the new pyscope folder under site-packages directory.
116
117
h2. Run updatecom.py
118
119
From a command line window:
120
121
<pre>cd C:\python25\Lib\Site-Packages\pyScope
122
C:\python25\python.exe updatecom.py</pre>
123
124
The python window appears should say show the required type libraries it found:
125
<pre>
126
Generating .py files from type libraries...
127
initializing TEM Scripting Error, cannot find typelib for "TEM Scripting"
128
initializing Tecnai Scripting done.
129
initializing TOM Moniker done.
130
initializing Tecnai Low Dose Kit done.
131
initializing Tecnai Exposure Adaptor done.
132
133
initializing Tietz CCD Camera done.
134
</pre>
135
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".
136
137
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
138
139
h2. modify Tietz PXL camera imaging size if you did so before for Leginon 1.6
140
141
*You should not copy the old one in this case since the file has been changed*
142
*  Go to C:\Python25\Lib\site-packages\pyscope\
143
144
*  Edit tietz.py with a plain text editor
145
146
147
*  Find the lines:
148
149
<pre> def getCameraSize(self):
150
# {'type': dict, 'values': {'x': {'type': int}, 'y': {'type': int}}}}
151
x = self._getParameterValue('cpTotalDimensionX')
152
y = self._getParameterValue('cpTotalDimensionY')
153
return {'x': x, 'y': y}
154
</pre>
155
156
*  Change the last line to:
157
158
<pre>    return {'x': 2048, 'y': 2048}</pre>
159
160
161 6 Anchi Cheng
______
162
163 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 >]]
164 6 Anchi Cheng
165
166
______