Example #1
0
def setBeamlineConfigParams(paramDict):
  configIter= mdsc.find_beamline_configs(**searchParams)
  beamlineConfig = configIter.next()["config_params"]
  configIter= mdsc.find_beamline_configs(**searchParams)
  beamlineConfig = configIter.next()["config_params"]
  for paramName in paramDict.keys():
    beamlineConfig[paramName] = paramDict[paramName]
  mdsc.insert_beamline_config(beamlineConfig, time.time())
Example #2
0
def _blc_tester(config_dict):
    """Test BeamlineConfig Insert
    """
    blc_uid = mdsc.insert_beamline_config(config_dict, ttime.time())
    blc_mds, = mdsc.find_beamline_configs(uid=blc_uid)
    # make sure the beamline config document has no id
    check_for_id(blc_mds)
    assert_equal(blc_mds.uid, blc_uid)
    if config_dict is None:
        config_dict = dict()
    assert_equal(config_dict, blc_mds.config_params)
    return blc_mds
def _blc_tester(config_dict):
    """Test BeamlineConfig Insert
    """
    blc_uid = mdsc.insert_beamline_config(config_dict, ttime.time())
    blc_mds, = mdsc.find_beamline_configs(uid=blc_uid)
    # make sure the beamline config document has no id
    check_for_id(blc_mds)
    assert_equal(blc_mds.uid, blc_uid)
    if config_dict is None:
        config_dict = dict()
    assert_equal(config_dict, blc_mds.config_params)
    return blc_mds
Example #4
0
def createDefaultRequest(sample_id):
    """
    Doesn't really create a request, just returns a dictionary
    with the default parameters that can be passed to addRequesttoSample().
    """
    configIter= mdsc.find_beamline_configs(**searchParams)
    beamlineConfig = configIter.next()["config_params"]
    screenPhist = float(beamlineConfig["screen_default_phist"])
    screenPhiend = float(beamlineConfig["screen_default_phi_end"])
    screenWidth = float(beamlineConfig["screen_default_width"])
    screenDist =  float(beamlineConfig["screen_default_dist"])
    screenExptime = float(beamlineConfig["screen_default_time"])
    screenReso = float(beamlineConfig["screen_default_reso"])
    screenWave = float(beamlineConfig["screen_default_wave"])
    screenEnergy = float(beamlineConfig["screen_default_energy"])
    screenbeamWidth = float(beamlineConfig["screen_default_beamWidth"])
    screenbeamHeight = float(beamlineConfig["screen_default_beamHeight"])
    screenTransmissionPercent = float(beamlineConfig["screen_transmission_percent"])
    sampleName = str(getSampleNamebyID(sample_id))
    basePath = os.getcwd()
    runNum = getSampleRequestCount(sample_id)
    request = {"sample_id": sample_id}
    requestObj = {
               "sample_id": sample_id,
               "sweep_start": screenPhist,  "sweep_end": screenPhiend,
               "img_width": screenWidth,
               "exposure_time": screenExptime,
               "protocol": "standard",
               "basePath": basePath,
               "file_prefix": sampleName,
               "directory": basePath+"/projID/"+sampleName+"/" + str(runNum) + "/",
               "file_number_start": 1,
               "energy":screenEnergy,
               "wavelength": energy2wave(screenEnergy),
               "resolution": screenReso,
               "slit_height": screenbeamHeight,  "slit_width": screenbeamWidth,
               "attenuation": screenTransmissionPercent,
               "pos_x": 0,  "pos_y": 0,  "pos_z": 0,  "pos_type": 'A',
               "gridW": 0,  "gridH": 0,  "gridStep": 30}
    request["request_obj"] = requestObj

    return request
Example #5
0
def init_environment():
  global beamline,detector_id,mono_mot_code,has_beamline,has_xtalview,xtal_url,xtal_url_small,xtalview_user,xtalview_pass,det_type,has_dna,beamstop_x_pvname,beamstop_y_pvname,camera_offset,det_radius,lowMagFOVx,lowMagFOVy,highMagFOVx,highMagFOVy,lowMagPixX,lowMagPixY,highMagPixX,highMagPixY,screenPixX,screenPixY,screenPixCenterX,screenPixCenterY,screenProtocol,screenPhist,screenPhiend,screenWidth,screenDist,screenExptime,screenWave,screenReso,gonioPvPrefix,searchParams,screenEnergy,detectorOffline,imgsrv_host,imgsrv_port

#  var_list["state"] = "Idle"


  configIter= mdsc.find_beamline_configs(**searchParams)
  beamlineConfig = configIter.next()["config_params"]

  lowMagFOVx = float(beamlineConfig["lowMagFOVx"])
  lowMagFOVy = float(beamlineConfig["lowMagFOVy"])
  highMagFOVx = float(beamlineConfig["highMagFOVx"]) #digizoom will be this/2
  highMagFOVy = float(beamlineConfig["highMagFOVy"])
  lowMagPixX = float(beamlineConfig["lowMagPixX"]) #for automated images
  lowMagPixY = float(beamlineConfig["lowMagPixY"])
  highMagPixX = float(beamlineConfig["highMagPixX"]) #for automated images
  highMagPixY = float(beamlineConfig["highMagPixY"])
  screenPixX = float(beamlineConfig["screenPixX"])
  screenPixY = float(beamlineConfig["screenPixY"])
  screenPixCenterX = screenPixX/2.0
  screenPixCenterY = screenPixY/2.0
  gonioPvPrefix = beamlineConfig["gonioPvPrefix"]
  detector_id = beamlineConfig["detector_id"]
  if (detector_id == "ADSC-Q315"):
    det_radius = 157.5
  elif (detector_id == "ADSC-Q210"):
    det_radius = 105.0
  elif (detector_id == "PILATUS-6"):
    det_radius = 212.0
  elif (detector_id == "ADSC-Q4"):
    det_radius = 94.0
  else: #default q4
    det_radius = 94.0 
  det_type = beamlineConfig["detector_type"]
  imgsrv_port = beamlineConfig["imgsrv_port"]
  imgsrv_host = beamlineConfig["imgsrv_host"]
  has_dna = int(beamlineConfig["has_edna"])
  has_beamline = int(beamlineConfig["has_beamline"])
  detectorOffline = int(beamlineConfig["detector_offline"])
  has_xtalview = int(beamlineConfig["has_xtalview"])
  camera_offset = float(beamlineConfig["camera_offset"])
  if (has_xtalview):
    xtal_url_small = beamlineConfig["xtal_url_small"]
    xtal_url = beamlineConfig["xtal_url"]
  mono_mot_code = beamlineConfig["mono_mot_code"]
  screenProtocol = beamlineConfig["screen_default_protocol"]
  screenPhist = float(beamlineConfig["screen_default_phist"])
  screenPhiend = float(beamlineConfig["screen_default_phi_end"])
  screenWidth = float(beamlineConfig["screen_default_width"])
  screenDist =  float(beamlineConfig["screen_default_dist"])
  screenExptime = float(beamlineConfig["screen_default_time"])
  screenReso = float(beamlineConfig["screen_default_reso"])
  screenWave = float(beamlineConfig["screen_default_wave"])
  screenEnergy = float(beamlineConfig["screen_default_energy"])
  screenbeamWidth = float(beamlineConfig["screen_default_beamWidth"])
  screenbeamHeight = float(beamlineConfig["screen_default_beamHeight"])
  screenTransmissionPercent = float(beamlineConfig["screen_transmission_percent"])
  beamstop_x_pvname = beamlineConfig["beamstop_x_pvname"]
  beamstop_y_pvname = beamlineConfig["beamstop_y_pvname"]

  varname = "HAS_XTALVIEW"
  if os.environ.has_key(varname):
    has_xtalview = int(os.environ[varname])
  varname = "DETECTOR_OFFLINE"
  if os.environ.has_key(varname):
    detectorOffline = int(os.environ[varname])
Example #6
0
def getAllBeamlineConfigParams():
  configIter= mdsc.find_beamline_configs(**searchParams)
  beamlineConfig = configIter.next()["config_params"]
#  for key in beamlineConfig.keys():
#     print key + " " + str(beamlineConfig[key])
  return beamlineConfig
Example #7
0
def getBeamlineConfigParam(paramName):
  configIter= mdsc.find_beamline_configs(**searchParams)
  beamlineConfig = configIter.next()["config_params"]
  return beamlineConfig[paramName]