def BckDirectBeamTransmission(sample_file, empty_file, beam_radius=3.0, theta_dependent=True): find_data(sample_file, instrument=ReductionSingleton().get_instrument()) find_data(empty_file, instrument=ReductionSingleton().get_instrument()) ReductionSingleton().reduction_properties["BckTransmissionMethod"] = "DirectBeam" ReductionSingleton().reduction_properties["BckTransmissionBeamRadius"] = beam_radius ReductionSingleton().reduction_properties["BckTransmissionSampleDataFile"] = sample_file ReductionSingleton().reduction_properties["BckTransmissionEmptyDataFile"] = empty_file ReductionSingleton().reduction_properties["BckThetaDependentTransmission"] = theta_dependent
def BckDirectBeamTransmission(sample_file, empty_file, beam_radius=3.0, theta_dependent=True): sample_file = find_data(sample_file, instrument=ReductionSingleton().get_instrument()) empty_file = find_data(empty_file, instrument=ReductionSingleton().get_instrument()) ReductionSingleton().reduction_properties["BckTransmissionMethod"] = "DirectBeam" ReductionSingleton().reduction_properties["BckTransmissionBeamRadius"] = beam_radius ReductionSingleton().reduction_properties["BckTransmissionSampleDataFile"] = sample_file ReductionSingleton().reduction_properties["BckTransmissionEmptyDataFile"] = empty_file ReductionSingleton().reduction_properties["BckThetaDependentTransmission"] = theta_dependent
def SensitivityCorrection(flood_data, min_sensitivity=0.5, max_sensitivity=1.5, dark_current=None, use_sample_dc=False): flood_data = find_data(flood_data, instrument=ReductionSingleton().get_instrument()) if dark_current is not None: dark_current = find_data(dark_current, instrument=ReductionSingleton().get_instrument()) ReductionSingleton().reduction_properties["SensitivityFile"] = flood_data ReductionSingleton().reduction_properties["MinEfficiency"] = min_sensitivity ReductionSingleton().reduction_properties["MaxEfficiency"] = max_sensitivity if dark_current is not None: ReductionSingleton().reduction_properties["SensitivityDarkCurrentFile"] = dark_current elif ReductionSingleton().reduction_properties.has_key("SensitivityDarkCurrentFile"): del ReductionSingleton().reduction_properties["SensitivityDarkCurrentFile"] if ReductionSingleton().reduction_properties.has_key("SensitivityBeamCenterX"): del ReductionSingleton().reduction_properties["SensitivityBeamCenterX"] if ReductionSingleton().reduction_properties.has_key("SensitivityBeamCenterY"): del ReductionSingleton().reduction_properties["SensitivityBeamCenterY"] ReductionSingleton().reduction_properties["UseDefaultDC"] = use_sample_dc
def BckBeamSpreaderTransmission(sample_spreader, direct_spreader, sample_scattering, direct_scattering, spreader_transmission=1.0, spreader_transmission_err=0.0, theta_dependent=True ): sample_spreader = find_data(sample_spreader, instrument=ReductionSingleton().get_instrument()) direct_spreader = find_data(direct_spreader, instrument=ReductionSingleton().get_instrument()) sample_scattering = find_data(sample_scattering, instrument=ReductionSingleton().get_instrument()) direct_scattering = find_data(direct_scattering, instrument=ReductionSingleton().get_instrument()) ReductionSingleton().reduction_properties["BckTransmissionMethod"] = "BeamSpreader" ReductionSingleton().reduction_properties["BckTransSampleSpreaderFilename"] = sample_spreader ReductionSingleton().reduction_properties["BckTransDirectSpreaderFilename"] = direct_spreader ReductionSingleton().reduction_properties["BckTransSampleScatteringFilename"] = sample_scattering ReductionSingleton().reduction_properties["BckTransDirectScatteringFilename"] = direct_scattering ReductionSingleton().reduction_properties["BckSpreaderTransmissionValue"] = spreader_transmission ReductionSingleton().reduction_properties["BckSpreaderTransmissionError"] = spreader_transmission_err ReductionSingleton().reduction_properties["BckThetaDependentTransmission"] = theta_dependent
def BckTransmissionDarkCurrent(dark_current=None): if dark_current is not None: find_data(dark_current, instrument=ReductionSingleton().get_instrument()) ReductionSingleton().reduction_properties["BckTransmissionDarkCurrentFile"] = dark_current elif ReductionSingleton().reduction_properties.has_key("BckTransmissionDarkCurrentFile"): del ReductionSingleton().reduction_properties["BckTransmissionDarkCurrentFile"]
def Background(datafile): if type(datafile)==list: datafile=','.join(datafile) find_data(datafile, instrument=ReductionSingleton().get_instrument(), allow_multiple=True) ReductionSingleton().reduction_properties["BackgroundFiles"] = datafile
def TransmissionDirectBeamCenter(datafile): find_data(datafile, instrument=ReductionSingleton().get_instrument()) ReductionSingleton().reduction_properties["TransmissionBeamCenterMethod"] = "DirectBeam" ReductionSingleton().reduction_properties["TransmissionBeamCenterFile"] = datafile
def DarkCurrent(datafile): datafile = find_data(datafile, instrument=ReductionSingleton().get_instrument()) ReductionSingleton().reduction_properties["DarkCurrentFile"] = datafile
def Background(datafile): if isinstance(datafile, list): datafile = ",".join(datafile) find_data(datafile, instrument=ReductionSingleton().get_instrument(), allow_multiple=True) ReductionSingleton().reduction_properties["BackgroundFiles"] = datafile
def SensitivityScatteringBeamCenter(datafile, beam_radius=3.0): find_data(datafile, instrument=ReductionSingleton().get_instrument()) ReductionSingleton().reduction_properties["SensitivityBeamCenterMethod"]="Scattering" ReductionSingleton().reduction_properties["SensitivityBeamCenterRadius"]=beam_radius ReductionSingleton().reduction_properties["SensitivityBeamCenterFile"]=datafile
def BckTransmissionDarkCurrent(dark_current=None): if dark_current is not None: dark_current = find_data(dark_current, instrument=ReductionSingleton().get_instrument()) ReductionSingleton().reduction_properties["BckTransmissionDarkCurrentFile"] = dark_current elif ReductionSingleton().reduction_properties.has_key("BckTransmissionDarkCurrentFile"): del ReductionSingleton().reduction_properties["BckTransmissionDarkCurrentFile"]
def TransmissionDirectBeamCenter(datafile): datafile = find_data(datafile, instrument=ReductionSingleton().get_instrument()) ReductionSingleton().reduction_properties["TransmissionBeamCenterMethod"] = "DirectBeam" ReductionSingleton().reduction_properties["TransmissionBeamCenterFile"] = datafile
def SensitivityDirectBeamCenter(datafile): datafile = find_data(datafile, instrument=ReductionSingleton().get_instrument()) ReductionSingleton().reduction_properties["SensitivityBeamCenterMethod"]="DirectBeam" ReductionSingleton().reduction_properties["SensitivityBeamCenterFile"]=datafile
def SensitivityDirectBeamCenter(datafile): find_data(datafile, instrument=ReductionSingleton().get_instrument()) ReductionSingleton().reduction_properties["SensitivityBeamCenterMethod"]="DirectBeam" ReductionSingleton().reduction_properties["SensitivityBeamCenterFile"]=datafile
def SensitivityScatteringBeamCenter(datafile, beam_radius=3.0): datafile = find_data(datafile, instrument=ReductionSingleton().get_instrument()) ReductionSingleton().reduction_properties["SensitivityBeamCenterMethod"]="Scattering" ReductionSingleton().reduction_properties["SensitivityBeamCenterRadius"]=beam_radius ReductionSingleton().reduction_properties["SensitivityBeamCenterFile"]=datafile
def TransmissionDarkCurrent(dark_current=None): if dark_current is not None: dark_current = find_data(dark_current, instrument=ReductionSingleton().get_instrument()) ReductionSingleton().reduction_properties["TransmissionDarkCurrentFile"] = dark_current elif "TransmissionDarkCurrentFile" in ReductionSingleton().reduction_properties: del ReductionSingleton().reduction_properties["TransmissionDarkCurrentFile"]