Interested in EM?
Using the NYSBC
Principles & Protocols
NYSBC Equipment
Seminars & Courses
Publications associated with CEM at NYSBC
Jobs Available


Microscope Schedule
Logbook
NYSBC Intranet
NYSBC Contacts
Cryo-EM home



NYSBC home
NMR Facility
X-Ray Facility
Protein Production Facility
Electron Crystallography Center


Cryo-EM Site map

  • Camera Webpages
  • Automated Control and Robotics on 1230
  • Camera Webpages

    Automated Control and Robotics on 1230

    • Options for Automated Control
      • SerialEM -- already installed, but does not fully work because of emulator issues, limited scriptability
      • AutoEM -- software written for Digital Micrograph. Will need to be rewritten for JEOL. Currently do not have DM script control of microscope.
      • Leginon -- software written for Tecnai. pyScope module will need to be rewritten for J1230.
      • home - written software
    • serial port commands for JEOL1230

    Microscope Communication with PC

    • Currently connected through both COM1 (serial) and ethernet
    • Digital Micrograph currently using COM1
    • HaveTemServer20xx.exe emulator software, which allows emulation of TEMCON interface (J2100/J3200)
    • Settings required forTemServer20xx are inTemExtReg.exe program, as follows (note: program does not need to be run)
      j1230-temextreg.png
    • Settings in TemServer 20xx (visible when viewing Properties) are :
      j1230-temserver20xx.png

    Digital Micrograph communication with microscope

    • Digital Micrograph communicates with J1230 through serial port by default
    • Setup is as follows:
      microscope-setup-normal.png
    • When emulator is running, can optionally use JEOL COM as microscope rather than JEOL 12n0
      microscope-setup-emulated.png
    • In either option, there is a test panel for testing Digital Micrograph's ability to control microscope
      microscope-setup-test.png

    • Testing of commands in Digital MicrographCommandWorking in J12n0 modeWorking in Temcon emulated mode Get beam energy yes yes Get camera length failed return 0 Get Illumination mode failed   Get Image Optics mode yes   Get mag yes no Set mag no no Get spot size failed no Set spot size failed no Get Brightness yes yes Set Brightness yes no Get Focus yes   Change Focus yes Get Objective Stig yes   Change Objective Stig yes Get Beam Shift yes   Change Beam Shift yes   Get Beam Tilt yes   Change Beam Tilt yes   Get C Stig yes   Change C Stig yes   Get Image Shift yes   Change Image Shift yes  

    Leginon

    Leginon Installation

    Pre-Requisites

    • Downloaded Leginon-prereq-wininstall.zip from James Pulokas
      • install Python 2.52
      • install pywin32 (may need MFC71.dll on some PC's; was already installed on 1230)
      • install wxpython
      • installMySQL python client
      • install PIL, the Python Imaging Library
      • install numpy 1.04
      • install scipy 0.60

    Leginon Installation

    • Will be using version 1.5 of Leginon
    • Done:
      • InstalledNumExtension 1.1.0
      • Installed pyscope 1.0.8 (THIS WILL NEED TO BE REPROGRAMMED FOR 1230)
      • Installed sinedon -r39
      • Installed pyami - r69
      • Installed Imageviewer
      • Installed Leginon - r5457
      • Edited default.cfg to configure Leginon to communicate with proper database
      • Edited sinedon.cfg configure Leginon to communicate with proper database
      • Set up database and web server on outside linux box
      • Communicates with camera, but complains about size. This has been fixed since version 1.6
    • Update -- we have updated to Leginon 1.6, modified by Minghui to add robot and j1230 communication (see below)
    • Apr 2010 -- installed packages on a test windows computer
      • Python mysql database package is no longer available pre-compiled for windows. The working precompiled version is attached here for easy access
      • In addition to packages listed on Leginon website, must install pywin32 package for serial port communication

    Serialport in Python

    • Current configuration
      • Tested commands in jeol_1230_computer control manual
      • The initialization command is: serial.Serial(port='COM1', baudrate=9600, bytesize=8, parity='N', stopbits=1, xonxoff = 0, timeout=10, rtscts=0)
      • Added jeol1230data.py, jeol1230mags.py, jeol1230cal.py, jeol1230lib.py, jeol1230.py in pyScope folder
      • In jeol1230lib.py was added a defocus configuration file, called defocus.cfg in the pyScope folder. It saves the last defocus reset value. When leginon starts, it loads in the lasted save defocus values.
    • In order to access the serial port from within python, we are relying on the package pywin32-2.14.exe. This package must be installed on any Windows computer running the j1230 package *

    Leginon Update

    • Z-height adjustment is enabled for sq imaging on 09/01/2009. config_em.doc: The correct configuration can be checked here.
    • Updated Leginon to the 09/03/2009 svn, the following files are customized:
    • leginon\leginon.cfg
    • leginon\noderegistry\default.ncr
    • leginon\400mesh_x250_hole.mrc
    • leginon\robot3.py
    • pyScope\instruments.cfg
    • pyScope\jeol1230*.*
    • sinedon\sinedon.cfg
    • robot3 class in 2D screening application by application editor
    • File name system can be edited in targetmaker.py:
      • Find the line containing "gridname=('prj%... ..."
    • Updated Leginon to the 09/28/09 svn.

    Robot

    Robot Movie (requires Quicktime player)

    Modify vacuum threshold (current setting: 0.4/2.5 set jan09)

    • In robot_parameters.py, find a section called "vacuum threshold values". Actual vacuum should be 10X of voltage values used in this file.
    • The robot3.py sets signals 1 and 6 to 1, asking for insertion and extraction; nysbc_robot.py sets and resets all of other signals; move_robot.py resets signals 1 and 6 back to 0.
    • Synchronized the leginon on robot computer with jeol1230 windows desktop. Now both are using the latest svn 09/04/2009, and the new robot3.py module by Minghui.

    Robot Manual

    Camera Installation

    Robot Calibration

    1. Users will use irobot command as usually. No change for user operation is required.
    2. The robot control software, irobot, saves its output to a file named by the system time in the format of YY-MM-DD_HH-MM-SS.txt (year-month-day_hour-minute-second) in the folder of /home/nysbc/robot_software/robot_control_programs/irobot_logs
    3. Meanwhile, users will also get the output on the screen as usual in real time.
    4. An additional log file with low level robot movement and communication information is also available in the folder of /home/nysbc/robot_software/robot_control_programs/spyfiles.
    5. Both log files can be checked in case of trouble shooting.

    Robot Update

    • Log files
      • Users will use irobot command as usually. No change for user operation is required.
      • The robot control software, irobot, saves its output to a file named by the system time in the format of YY-MM-DD_HH-MM-SS.txt (year-month-day_hour-minute-second) in the folder of /home/nysbc/robot_software/robot_control_programs/irobot_logs
      • Meanwhile, users will also get the output on the screen as usual in real time.
      • An additional log file with low level robot movement and communication information is also available in the folder of /home/nysbc/robot_software/robot_control_programs/spyfiles.
      • Both log files can be checked in case of trouble shooting.

    Additional information about the code

    from Kevin's mail (01/18/2011):
    • go_to_safe_cart2(self) is not called by anything and is probably left from testing; we could convince ourselves of it by doing a grep command on that string for all .py files and see that there is only one occurence of it.
    • extract_and_insert(self) is also a test routine not called by anything else so it is not needed.
    • Both of these commands can be commented out (add a note as to why with a date to the comment).

    2D crystal screening application for Leginon

    Manual

    -- BillRice - 19 Oct 2007

    : mysql-python windows binary installer