Installation on the microscope computer » History » Revision 77
« Previous |
Revision 77/86
(diff)
| Next »
Anchi Cheng, 09/10/2013 10:45 AM
Installation on the microscope computer for 2.2¶
If you are installing 2.1, see Installation on the microscope compute 2.1¶
If you are installing trunk version (required for Gatan K2 Summit support development), see Installation on the microscope computer 3.0¶
Only processing-side of Leginon system is needed
Package requirement¶
Python and Support Packages (Note that python 2.5 must be used):¶
This list does not include the python XML module because it is included in the python package for Windows. You should generally be able to use the most recent versions of these packages that are available from their respective web sites. Just be sure to always get the version that is compatible with Python 2.5. If you are having trouble with the most recent version, try to use the specific versions listed here:
Python 2.5* | http://www.python.org | |
Python for Windows extension (pywin32) | http://sourceforge.net/projects/pywin32/ | |
wxPython 2.5.2.8 or newer | http://www.wxpython.org | |
MySQL Python client 1.2 or newer | http://sourceforge.net/projects/mysql-python | 1.2.3 doesn't have window installer, yet, use 1.2.2 |
Python Imaging Library (PIL) 1.1.4 or newer | http://www.pythonware.com/products/pil/ | |
NumPy 1.0b5 (tested, others may work) | http://www.scipy.org | |
SciPy 0.5.1 or newer | http://www.scipy.org |
*Python 2.5 is the only python version that we have compiled numExtension. libCV and comarray in. Therefore no other python version works for now.
SVN client used for check out from our repository¶
This required for following this instruction. We have used Tortois SVN client. Alternatively, you may copy the required NRAMM source files from another computer.
Name: | Download site: |
---|---|
Tortoise SVN client | http://tortoisesvn.tigris.org |
Required supporting programs for the CCD camera from camera makers¶
Install and register the following programs for CCD cameras from the two makes. Most likely, you already have these installed when the camera and TEM software was installed:
Camera Make: | File: |
---|---|
Gatan | TecnaiCCD.dll |
Tietz | CAMC4.exe* |
DirectElectronDE12 | DirectElectronAPI.exe |
Supporting programs for film exposure¶
Install the following if you need film exposure on FEI Tecnai TEM through Leginon, available through FEI. Please contact Max Otten: mto@feico.com and request for adaexp.exe that works with your version of Tecnai user interface program.
Name: | File: |
---|---|
exposure adaptor | adaexp.exe |
Packages required from NRAMM¶
These are the sub-packages of myami that you will install with the python installer.¶
Name: | Purpose: |
---|---|
leginon | modular TEM image acquisition |
pyami | general functions |
sinedon | Leginon/database interaction |
pyscope | microscope control and monitoring |
imageviewer | image viewing for tomography |
- For FEI Eagle Camera or Gatan Camera that uses TIA, comarray package needs to be install with python
- Special Instructions for FEI Eagle Camera
- In Testing: Comarray will soon be retired. We will be using the third party package "comtypes" instead. See instructions here: Installing comtypes.
Because numextension, comarray and libcv would require extra compilers if you build them yourself, we have created Windows installers for them for python 2.5 and made them available at http://emg.nysbc.org/projects/leginon/files.
These are the Leginon v2.0 python 2.5 compiled packages installed through python installer on Windows. Leginon v2.2 uses the same files.¶
Downloadfile Name | Purpose: |
---|---|
numextension-2.0.0.win32-py2.5.exe | c extension for numerical processing |
comarray-2.0.0.win32-py2.5.exe | com module output conversion to array |
libCV-2.0.0.win32-py2.5.exe | small c library of algorithm from computer vision field |
Installation¶
Add the IP address and matching hostname of the microscope and digital camera computer in your host file on the main Leginon computer, and vice versa.¶
Find out what python thinks the hostname is with python command line. REPEAT this both on Linux and Windows PC¶
Run the following in python command line:
import socket socket.gethostname()
Find out the ip address associated with the hostname¶
Run the following in python command line:
import socket socket.gethostbyname('your_host_name')
Modify your "hosts" file on the linux Leginon computer to include the instrument hosts if the latter is not already mapped by your domain name server¶
- On Linux, this "hosts" file is at
/etc/hosts
Example of a "hosts" file:
192.000.1.222 instrument_host_name.domain_name instrument_short_host_name
Use shorter linux hostname if desired¶
If you'd like to shorten your linux hostname recognized by socket without the domain name, you may do so as root
hostname your_shorter_hostname
and also add that to the /etc/hosts as an alternative name
192.000.1.333 long_host_name.domain_name your_shorter_hostname
You will need to restart networking to make it persistent.
/etc/init.d/network restart
Test the change by finding the ip address with the hostname as in the above section.
The Linux main Leginon computer also needs to identify itself by its hostname registered on the instrument Windows computer.¶
- On Window XP and WIndows 7 this host file is
C:\\WINDOWS\system32\drivers\etc\hosts
- On Window NT, this host file is
C:\\WINNT\system32\drivers\etc\hosts
Register TecnaiCCD.dll, CAMC4.exe (For Tietz camera), and adaexp.exe (For film exposure)¶
- From the command prompt, run the following commands. You may need to enter the full path of the exe or dll:
adaexp.exe /regserver CAMC4.exe /regserver REGSVR32 TecnaiCCD.dll
Install Python and supporting packages with their installers¶
Excute the installer files and follow the instructions.
Install the Windows Installer Files from Leginon website http://emg.nysbc.org/projects/leginon/files¶
Execute the installer files and follow the instructions. Do not execute comarray-2.0.0.win32-py2.5.3x3 if your camera uses TIA. See earlier section above.
Check out SVN Source Files from the repository¶
Use your mouse to do the following- Create Leginon2.2 directory somewhere at your convenience
- Change directory into Leginon2.2
- Right-click the mouse botton in this directory window and select Tortoise svn
Checkout in the menu:
- Set up svn checkout window like this to check out from http://emg.nysbc.org/svn/myami/branches/myami-2.2 to Leginon2.2
Install the packages you downloaded from NRAMM svn repository¶
- Start a command line Window from Start Menu
- Install the package in each folder with commands such as
cd Your_Download_Place\Leginon2.2\leginon c:\\python25\python.exe setup.py install
Then continue with the other packages, replacing leginon with the package name. See "These are the sub-packages of myami that you will install with the python installer." section above for complete list.
Run updatecom.py¶
From a command line window:
cd C:\python25\Lib\Site-Packages\pyScope C:\python25\python.exe updatecom.py
The python window appears should say show the required type libraries it found:
Generating .py files from type libraries... initializing TEM Scripting Error, cannot find typelib for "TEM Scripting" initializing Tecnai Scripting done. initializing TOM Moniker done. initializing Tecnai Low Dose Kit done. initializing Tecnai Exposure Adaptor done. initializing Tietz CCD Camera done.
The output is of course depending on what is available on your microscope computer. You should have either "Tecnai Scripting" or the pairing of "TEM Scripting" and "TOM Moniker".
You will only find Tecnai Exposure Adaptor (Scripting for film exposure) if you ask FEI for it.
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
Locate global configuration directory following standard on Windows¶
Saving cfg files in a global location reduces future need for copying old configuration to updated installation. The location is different for different versions of Windows. To locate the one for your Windows version:
- go to C:\\python27\Lib\site-packages\leginon
- run configcheck.py
The script gives the three search directories of the cfg files and the loaded file if present. Note the first search directory that with a name most likely start with C:\\Programs and ends with \myami. This is the global configuration directory we will use.
Configure leginon.cfg:¶
Follow the instructions in Configure leginon.cfg located in the section for Linux installation but note the location of the configuration files follows. In addition, if the storage disk is mapped onto the Windows PC as drive Z, this mapping should be included in leginon.cfg. See below.
- Configurations for all users and all local copy and installation of leginon (Recommended on the microscope computer since users are not expected to start the main processing here)
<Global configuration directory>\leginon.cfg
Example:
C:\Programs\myami\leginon.cfg
- The skeleton (default) configuration file is available at:
C:\Python25\Lib\site-packages\leginon\leginon.cfg.template
Configure sinedon.cfg:¶
Follow instruction in Configure sinedon.cfg in the section for Linux installation but note the location of the configuration files follows.
- (Recommanded on microscope computer) For all users, put sinedon.cfg in the global configuration directory such as
C:\Programs\myami\sinedon.cfg
- the skeleton sinedon configuration file is
C:\Python25\Lib\site-packages\sinedon\examples\sinedon.cfg
Configure instruments.cfg:¶
- A template for instruments.cfg is in the installed pyscope directory as "instruments.cfg.template". Copy it to
C:\Programs\myami\instruments.cfg
- Remove the Sim Tem and Sim Cam modules in the configuration.
- Add the modules for your microscope and camera.
- If you have Direct Electron camera DE12, your camera module.class is de.DE12
- If your microscope uses Tecnai Scripting Interface, youe scope module.class is tecnai.Tecnai
- If you have a Gatan camera that you interface through DigitalMicrograph, your camera module.class is gatan.Gatan
- If you have a Tietz camera, there are several choices for the "class" field. Run the tietztest.py script that comes in pyscope to tell you your available options.
TEM¶
cs is the coefficient of spherical aberration in meters. Find out from TEM manufacture the proper value for your tem.
For example
[tem] class: fei.Tecnai cs: 2.0e-3
Camera¶
height and width are number of pixels based on the orientation presented in Leginon image viewer- Some Tietz camera may have an odd physical dimension. Use TCL/EMMenu program to find out the good dimension used in Tietz's own software and entered in this configuration.
For example
[camera] class: gatan.Gatan zplane: 50 height: 4096 width: 4096
zplane is a number that gives the order of camera. If a camera with low zplane value is going to acquire an image, Leginon will attempt to retract all cameras at higher zplane values.
HEIGHT and WIDTH are not shown in these examples for simplicity- One computer for both tem and digital camera:
[tem] class: fei.Tecnai cs: 2.0e-3 [camera] class: gatan.Gatan zplane: 50
- Separate computers for the two instruments: configure only the instrument reside on the particular computer
- On the computer that controls the tem:
[tem] class: fei.Tecnai cs: 2.0e-3
- On the computer that controls the digital camera:
[camera] class: gatan.Gatan zplane: 50
- On the computer that controls the tem:
- Two camera at the same plane:
- On the computer that controls the digital camera:
DE12 and DE Survey camera are retract/extend together, with the survey camera at off-axis. Therefore zplane should be set at the same value
For example,[camera1] class: de.DE12 zplane: 50 [camera2] class: de.DESurvey zplane: 50
- On the computer that controls the digital camera:
- Gatan Orius camera that is installed typically with Gatan K2/Falcon camera is technically on the same plane but is not capable of insertion unless K2 is retracted. On the other hand, K2 camera insertion includes a retraction of Orius at lower level of the function call in DM. Therefore, Orius is considered as a camera at lower zplane.
[camera1] class: dmsem.GatanK2Base zplane: 50 [camera2] class: dmsem.GatanOrius zplane: 49
The file contains other examples of microscope and camera drivers that we distribute from NRAMM.
Additional setup on Tietz cameras¶
Register the Tietz ping callback function. From a command line window:
cd C:\python25\Lib\Site-Packages\pyscope C:\python25\python.exe tietzping.py
Troubleshooting Tietz cameras:
When Leginon initializes the camera, a program called CAMC4 should start automatically in the backgound. This is confirmed by the little camera icon showing up in the system tray in the lower right of the screen. Also, task manager can be started to confirm CAMC4 is running. Sometimes problems occur if more than one CAMC4 is running at the same time, so task manager will help identify this.
CAMC4 has its own configuration file "CAMC.ini" that will normally be set up already, but you can search for it on your computer and confirm that everything looks right. It will have configuration parameters for several cameras and only one of them will be activated. The only parameter that may need some adjustment is the readout geometry, which affects the rotation and mirror of the image.
If Leginon is not initializing the camera or not getting proper images, you should first test image acquisition using TVIPS software to make sure it is not a hardware issue. Use TCL or there is a test program called TestMFCCamera that can acquire an image and test the CAMC4 operation.
For strange dimension cameras¶
Some Tietz camera dimensions are slightly larger than a standard size, for example, 2084 x 2084 instead of the standard 2048 x 2048. Some software will have trouble dealing with these dimensions. It is recommended to force the camera to the lower standard size (some multiple of 2^n). Modify the function that gets camera dimension in tietz.py, gatan.py, or tia.py depending on which camera you are using.
- Go to C:\Python25\Lib\site-packages\pyScope\
- Edit tietz.py, gatan.py, or tia.py with a plain text editor
- Find the function "getCameraSize" and replace its contents to force it to return a "hard coded" size. For example:
def getCameraSize(self): return {'x': 2048, 'y': 2048}
Create Leginon Admin and Leginon Client shortcut in Start menu menu under Leginon¶
This instruction applies to Windows XP.
- Go to C:\Documents and Settings\All Users\Start Menu\Programs\ and create a new
folder named Leginon.
- In another window, go to
C:\Python25\Lib\site-packages\leginon
- Create a shortcut from start-leginon.py as "Leginon Admin" and a shortcut from launcher.py as "Leginon Client".
- Move the two shortcuts into
C:\Documents and Settings\All Users\Start Menu\Programs\Leginon
Mapping Drives (Optional):¶
Although we don't recommend it, it is possible to run minimal Leginon directly on the Windows machine, Since the database and web servers are not there, you probably will be saving the images through a Samba server on a network drive also available to the Linux machine. If you do so, you will need to map the network drive. For example, if your Samba server has a hostname your_smbserver, and you have set up a share called [your_share_point] which points to /your_data_path/ and leginon data will be saved under a folder in /your_data_path/leginon/.
- Start, My Computer
- Tools menu, Map network drive
- Use an unmapped drive such as Z:
Enter shared path in Windows format as
\\your_smbserver\your_share_point
- Add the drive and the Linux path to leginon.cfg on the Windows machine as
[Drive Mapping] Z:/your_data_path
- Add image path to leginon.cfg on the Windows machine in Linux format as
[Images] path:/your_data_path/leginon
Additional Software (Optional):¶
TightVNC (http://www.tightvnc.com) if you get tired of going into the microscope room just to open the column valves.
Gatan K2 Experimental support:¶
< Additional Database Server Setup | Steps needed for Installation Using Database Administration Tools >
If you used autoinstaller to install processing/web/database servers: < Autoinstaller for CentOS | Perform Microscope Setup and Test run >
Updated by Anchi Cheng about 11 years ago · 77 revisions