Example #1
0
labtools.configure(LOGLEVEL = 'INFO')

from labtools.pi.mercury import C862Translator
from labtools.coherent.powermeter import PowerMeter
import time

from labtools.log import create_logger
from labtools.instr.conf import *

import numpy as np
from scipy.optimize import curve_fit
from scipy.special import erf

import matplotlib.pyplot as plt

logger = create_logger(__name__, LOGLEVEL)

def ERF(x, w,x0,a):
    return 0.5 * a * (1+ erf(np.sqrt(2)*(x-x0)/w))

class BeamProfiler(object):
    """Beam profiling object. It consists of two translators that move the blade
    that work as a shade for a Gaussian beam. A powermeter is used for measuring
    the transmitted beam"""
    
    #: number of steps to perform when scanning each axis
    nsteps = 30
    #: translator travel length
    width = 2
    #: min step resolution at which find_center is satisfied
    stepres = 0.0005
Example #2
0
user-friendly interface. Some of the most useful SCPI commands
have their separate methods. You can of course still use raw
commands for a more custom control.

"""

import time
import visa
from labtools.stanford.conf import TIMEOUT, LOGLEVEL, DEVICES, INITCMD, FUNCTYP
from labtools.log import create_logger

#from labtools.utils.instr import BaseSerialInstrument, InstrError
from labtools.stanford.instr import StanfordInstrument

#logger = create_logger(__name__, LOGLEVEL)
logger = create_logger(__name__, 'DEBUG')


def find_address(device=None, timeout=0.1):
    r"""Searches visa instruments and finds a valid device.
    It opens all posible visa ports and asks for *IDN? command. It parses the output
    and looks for a specific agilent function generator string identifier (such as 'DS345' ).
    
    Parameters
    ----------
    device : str or None
        If specified it looks for a given string in the *IDN? command. This serves
        as a device identifier. If not given it is one of the possible devices
        
    timeout : float
        Visa timeout (increase it if you have communication problems.)
Example #3
0
from enthought.traits.ui.table_column \
    import ObjectColumn

from enthought.traits.ui.extras.checkbox_column \
    import CheckboxColumn

from scipy.optimize import curve_fit
import inspect
import numpy as np

from labtools.analysis.fit_functions import general, CATEGORIES
from labtools.analysis.plot import Plot
from labtools.utils.custom_traits import NoneFloat

from labtools.log import create_logger
log = create_logger(__name__)


class Parameter(HasTraits):
    """Defines parameter for FitFunction

    >>> p = Parameter(name = 'a', value = 10.)
    >>> p.name
    'a'
    >>> p.value
    10.0
    """
    #: parameter name
    name = Str()
    #: actual value
    value = Float(1.)
Example #4
0
import numpy as np
import PySpin
import cv2
from labControl.flir import conf as config

from labtools.log import create_logger
from labtools.utils.instr import InstrError, BaseDevice

import ArTwvStructure
import ctypes
import multiprocessing as mp

from labControl import timing
from os import listdir, makedirs

logger = create_logger(__name__, config.LOGLEVEL)


class Camera(object):
    """ Camera class for creation of a camera instance

        Creates a Bfly camera at a given index. At first camera initialization the camera list
        and number of cameras available is acquired.
    """
    __system = None
    __cam_list = None
    __num_cameras = None

    def __new__(cls, index=0):
        if cls.__system is None:
            cls.__system = PySpin.System.GetInstance()