Metadata-Version: 1.1
Name: andor
Version: 1.1
Summary: Object-oriented interface for Andor EMCCD cameras
Home-page: UNKNOWN
Author: Guillaume Lepert
Author-email: guillaume.lepert07@imperial.ac.uk
License: UNKNOWN
Description: Object-oriented, high-level interface for Andor cameras (SDK2), written in Cython. 
        
        .. Note::
           
           - This is not a stand-alone driver. Andor's proprietary drivers must be installed.
             The setup script expects to find ``libandor.so`` in ``/usr/local/lib/``
             (the driver's default installation directory).
           
           - Andor provides a low-level, `ctypes` wrapper on their SDK, called ``atcmd``.
             If available, it will be imported as `Andor._sdk`.
             
           - This documentation should be read along Andor's Software Development Kit manual.
           
           - **To build the extension**::
           
             $ python2.7 setup_extension.py build_ext --inplace
        
        .. Warning::
           This module is not thread-safe. If `AcqMode.wait` is blocking a
           background thread, and another function call is made from the main thread,
           the main thread will block too.
        
        -------
        
        Usage
        -----
        
        The camera is controlled via the top-level class `Andor`:
        
            >>> from andor2 import Andor
            >>> cam = Andor()
        
        The `Andor` instance is just a container for other objects
        that control various aspect of the camera:
        
        * `Info` : camera information and available features
        * `Temperature` : cooler control
        * `Shutter` : shutter control
        * `EM`: electron-multiplying gain control
        * `Detector`: CCD control, including:
        
          - `VSS`: vertical shift speed
          - `HSS`: horizontal shift speed
          - `ADC`: analog-to-digital converter
          - `OutputAmp`: the output amplifier
          - `PreAmp`: pre-amplifier control
        
        * `ReadMode`: select the CCD read-out mode (full frame, vertical binning, tracks, etc.)
        * `Acquire <AcqMode>`: control the acquisition mode (single shot, video, accumulate, kinetic)
        
        Examples
        --------
        
            >>> from andor2 import Andor
            >>> cam = Andor()
            >>> cam.Temperature.setpoint = -74  # start cooling
            >>> cam.Temperature.cooler = True  
            >>> cam.Detector.OutputAmp(1)       # use conventional CCD amplifier instead of electron multiplying
            >>> cam.PreAmp(2)                   # set pre-amplifier gain to 4.9
            >>> cam.exposure = 10               # set exposure time to 10 ms
            >>> cam.ReadMode.SingleTrack(590,5) # set readout mode: single track, 5 pixels wide, centered at 590 pixels
        
            >>> cam.Acquire.Video()             # set acquisition mode to video (continuous)
            >>> data = cam.Acquire.Newest(10)   # collect latest 10 images as numpy array
            >>> cam.Acquire.stop()
        
            >>> cam.Acquire.Kinetic(10, 0.1, 5, 0.01)    # set up kinetic sequence of 10 images every 100ms
                                                     # with each image being an accumulation of 5 images
                                                     # taken 10ms apart
            >>> cam.Acquire.start()                      # start acquiring
            >>> cam.Acquire.wait()                       # block until acquisition terminates
            >>> data = cam.Acquire.GetAcquiredData()     # collect all data
        
        
        
        
Platform: linux
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: C
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Home Automation
Classifier: Topic :: Scientific/Engineering
Requires: numpy
Requires: cython
Requires: h5py
