Ejemplo n.º 1
0
    def PyExec(self):
        from IndirectDataAnalysis import furyfitMult

        workdir = config['defaultsave.directory']
        inType = self.getProperty('InputType').value
        prefix = self.getProperty('Instrument').value
        ana = self.getProperty('Analyser').value
        RunNumb = self.getProperty('RunNumber').value
        xMax = self.getProperty('TimeMax').value
        filename = prefix + str(RunNumb) + '_' + ana
        plotOp = self.getProperty('Plot').value
        inWS = filename + '_iqt'
        if inType == 'File':
            spath = os.path.join(workdir, inWS +
                                 '.nxs')  # path name for sample nxs file
            logger.notice('Input from File : ' + spath)
            LoadNexusProcessed(Filename=spath, OutputWorkspace=inWS)
        else:
            logger.notice('Input from Workspace : ' + inWS)
        CropWorkspace(InputWorkspace=inWS,
                      OutputWorkspace=inWS,
                      XMin=0.0,
                      XMax=xMax)
        function = 'name=LinearBackground,A0=0.02,A1=0,ties=(A1=0);'
        function += 'name=UserFunction,Formula=Intensity*exp(-(x/Tau)^Beta),Intensity=0.98,Tau=0.02,Beta=0.8'

        furyfitMult(inWS, function, 'SSSS', 0.0, 0.2, False, plotOp, True)
    def _run(self):
        """Defines the workflow for the test"""
        self.tolerance = 1e-6
        self.samples = [sample[:-4] for sample in self.samples]

        # load files into mantid
        for sample in self.samples:
            LoadNexus(sample, OutputWorkspace=sample)
        LoadNexus(self.resolution, OutputWorkspace=self.resolution)

        fury_props, fury_ws = Fury(
            Sample=self.samples[0],
            Resolution=self.resolution,
            EnergyMin=self.e_min,
            EnergyMax=self.e_max,
            NumBins=self.num_bins,
            DryRun=False,
            Save=False,
            Plot=False,
        )

        # Test FuryFit Sequential
        furyfitSeq_ws = furyfitMult(
            fury_ws.getName(), self.func, self.ftype, self.startx, self.endx, Save=False, Plot="None"
        )

        self.result_names = [fury_ws.getName(), furyfitSeq_ws]

        # remove workspaces from mantid
        for sample in self.samples:
            DeleteWorkspace(sample)
        DeleteWorkspace(self.resolution)
    def _run(self):
        '''Defines the workflow for the test'''
        self.tolerance = 1e-6
        self.samples = [sample[:-4] for sample in self.samples]

        #load files into mantid
        for sample in self.samples:
            LoadNexus(sample, OutputWorkspace=sample)
        LoadNexus(self.resolution, OutputWorkspace=self.resolution)

        _, fury_ws = TransformToIqt(SampleWorkspace=self.samples[0],
                                    ResolutionWorkspace=self.resolution,
                                    EnergyMin=self.e_min,
                                    EnergyMax=self.e_max,
                                    BinReductionFactor=self.num_bins,
                                    DryRun=False)

        # Test FuryFit Sequential
        furyfitSeq_ws = furyfitMult(fury_ws.getName(),
                                    self.func,
                                    self.ftype,
                                    self.startx,
                                    self.endx,
                                    Save=False,
                                    Plot='None')

        self.result_names = [fury_ws.getName(), furyfitSeq_ws]

        #remove workspaces from mantid
        for sample in self.samples:
            DeleteWorkspace(sample)
        DeleteWorkspace(self.resolution)
Ejemplo n.º 4
0
    def _run(self):
        '''Defines the workflow for the test'''
        self.tolerance = 1e-6
        self.samples = [sample[:-4] for sample in self.samples]

        #load files into mantid
        for sample in self.samples:
            LoadNexus(sample, OutputWorkspace=sample)
        LoadNexus(self.resolution, OutputWorkspace=self.resolution)

        _, fury_ws = TransformToIqt(SampleWorkspace=self.samples[0],
                                    ResolutionWorkspace=self.resolution,
                                    EnergyMin=self.e_min,
                                    EnergyMax=self.e_max,
                                    BinReductionFactor=self.num_bins,
                                    DryRun=False)

        # Test FuryFit Sequential
        furyfitSeq_ws = furyfitMult(fury_ws.getName(),
                                    self.func,
                                    self.ftype,
                                    self.startx,
                                    self.endx,
                                    Save=False,
                                    Plot='None')

        self.result_names = [fury_ws.getName(),
                             furyfitSeq_ws]

        #remove workspaces from mantid
        for sample in self.samples:
            DeleteWorkspace(sample)
        DeleteWorkspace(self.resolution)
Ejemplo n.º 5
0
    def PyExec(self):
        from IndirectDataAnalysis import furyfitMult

        workdir = config['defaultsave.directory']
        inType = self.getProperty('InputType').value
        prefix = self.getProperty('Instrument').value
        ana = self.getProperty('Analyser').value
        RunNumb = self.getProperty('RunNumber').value
        xMax = self.getProperty('TimeMax').value
        filename = prefix + str(RunNumb) + '_' + ana
        plotOp = self.getProperty('Plot').value
        inWS = filename + '_iqt'
        if inType == 'File':
            spath = os.path.join(workdir, inWS + '.nxs')  # path name for sample nxs file
            logger.notice('Input from File : ' + spath)
            LoadNexusProcessed(Filename=spath, OutputWorkspace=inWS)
        else:
            logger.notice('Input from Workspace : ' + inWS)
        CropWorkspace(InputWorkspace=inWS, OutputWorkspace=inWS, XMin=0.0, XMax=xMax)
        function = 'name=LinearBackground,A0=0.02,A1=0,ties=(A1=0);'
        function +=     'name=UserFunction,Formula=Intensity*exp(-(x/Tau)^Beta),Intensity=0.98,Tau=0.02,Beta=0.8'

        furyfitMult(inWS, function, 'SSSS', 0.0, 0.2, False, plotOp, True)