wxCCD is a small python program I wrote to display and integrate images from an x-ray CCD. It has only a small set of the features in the "qt"/"moa" package that I developed in Sol Gruner's group. On the other hand, wxCCD is cross-platform and requires only freely available open-source packages, while qt/moa requires Matlab. (Some elements of the Matlab package live on in Lois Pollack's group.)
wxCCD is not a complete analysis package, although additional features could be easily bolted on. It is intended for quick visualization of results from x-ray CCD cameras while performing an experiment.
Presently, it only reads SMV data files as acquired by the Brandeis/BioCAT CCD. I could put in functionality for TIF files from TV6 (CHESS/Gruner), if there is interest. In addition, the code is extensible, so you can edit it to add whatever input format you desire, or link to external code (it doesn't have to be in Python).
There is a super-short tutorial on SciPy.plt, or see the more complete and general plotting tutorial at SciPy.org.
.py somewhere python can find it.
You can add to the python search path by setting the PYTHONPATH variable.
If that fails, here is a platform-independent method:
>>> import sys >>> sys.path.insert(0,"/your-directory-path/where-wxCCD.py files are put")
>>> import gui_thread # if not already done >>> import wxCCD >>> p = gui_thread.register(wxCCD.main) >>> win = p()The names
win and p are arbitrary.
Once started, if you want to edit wxCCD.py and reload:
>>> reload(wxCCD)(
import wxCCD will not reload the file).
sample.smv file above.)
Note: there is a bug in reading SMV files on the WIN/DOS platform. (See Bugs below.) So, choose any other filename to get a test pattern you can play with.
z = wxCCD.test_data()for a 100 by 100 matrix of ascending values, or
z = wxCCD.test_data(n)for an
n by n matrix.
Once you have data, import with
win.image = zand select File : Reload from the menubar.
(Note 1: if you begin with
from wxCCD import *
then you can replace
wxCCD.test_data()
with
test_data()
)
(Note 2: this example assumes you called your instance win
following the
previous example for starting wxCCD.)
win.image
win.scaled_data
win.x, win.y
By examining the wxCCD.py source, you can find even more exotic things to access and change:
self.my_slider_box._beta_slider.GetValue()
biocatCCD.py
.
Other bugs? Please let me know.