5. Jobin-Yvon CCD client — wanglib.ccd
¶
Client routines for use with the CCD-2000 camera (generally attached to the Spex 750M spectrometer). These utilities talk to the CCD server LabView program running on the old computer over TCP/IP.
To configure the CCD server, refer to README file on the desktop of the CCD controller computer.
5.1. Command-line invocation¶
For a simple live display from the CCD, invoke this module as a script:
$ python -m wanglib.ccd --ip 128.223.xxx.xxx 800
where 800 is the center wavelength of the grating
(as read from the window). You will need to specify
the real IP address of the CCD server using the --ip
flag.
A more sophisticated GUI for the CCD is available. This program can save data, zoom in and out, and move the grating on the Spex 750M.
5.2. Client library¶
To integrate the CCD client into your own script,
use labview_client
.
-
class
wanglib.ccd.
labview_client
(center_wl, host=None, port=3663)¶ TCP client for Tim’s labview ccd server.
Instantiate like so:
>>> ccd = labview_client(700, '128.223.xxx.xxx')
where
121.223.xxx.xxx
is the IP address of the computer running the Labview server, and 700 is the current wavelength of the spectrometer in nanometers (read from the window).This info is needed because the labview program calculates wavelength values (from dispersion calibration info) on the server-side. Tye Hetherington wrote that sub-routine.
This client implements no control whatsoever of the SPEX 750m spectrometer to which the CCD is attached. For proper wavelength and dispersion info, you’ll need to keep the client informed.
Whenever you move the spectrometer, set
center_wl
attribute to match:>>> ccd.center_wl = 750
To get a spectrum, use
get_spectrum()
.-
connect
()¶ Establish a connection with the labview server.
If the labview program is ever stopped and restarted (as it should be when not taking data, to avoid wearing out the shutter), this should be called to reestablish the connection.
-
get_spectrum
()¶ Takes a shot on the CCD.
Returns a 2-tuple
(wl, ccd)
.wl
: a 1-D array of the horizontal (wavelength) axis.ccd
: a 2-D array of CCD counts.To collapse
ccd
into a 1D array matchingwl
, sum over axis 0:>>> wl,ccd = clnt.get_spectrum() >>> line, = pylab.plot(wl,ccd.sum(axis=0))
-