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())
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 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
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])
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
def getBeamlineConfigParam(paramName): configIter= mdsc.find_beamline_configs(**searchParams) beamlineConfig = configIter.next()["config_params"] return beamlineConfig[paramName]