コード例 #1
0
    def PyInit(self):
        self.declareProperty(FloatArrayProperty("Masses", direction=Direction.Input),
                             doc="The masses that make up the sample")

        self.declareProperty(FloatArrayProperty("Amplitudes", direction=Direction.Input),
                             doc="The amplitudes of the peaks")

        self.declareProperty("TransmissionGuess", 1.0,
                             doc="Initial guess for the transmission")

        self.declareProperty("Thickness", 5.0,
                             doc="The thickness of the sample in centimetres (cm)")

        self.declareProperty("NumberDensity", 1.0,
                             doc="The Number Density of the sample material")

        self.declareProperty(ITableWorkspaceProperty("DensityWorkspace", "",
                                                     direction=Direction.Output),
                             doc="Output Workspace containing the iterative "
                             +"approximations for Sample Density. The final "
                             +"Y value in the first spectrum will be the last iteration")

        self.declareProperty(ITableWorkspaceProperty("TransmissionWorkspace", "",
                                                     direction=Direction.Output),
                             doc="Output Workspace containing the iterative "
                             +"approximation for Transmission.")
コード例 #2
0
    def PyInit(self):
        """ Declare properties
        """
        self.declareProperty(
            ITableWorkspaceProperty("BraggPeakParameterWorkspace", "",
                                    Direction.Input),
            "Name of Table Workspace containing peak parameters.")

        self.declareProperty(
            ITableWorkspaceProperty("ZscoreWorkspace", "", Direction.Input),
            "Name of Table Workspace containing z-score for the peak parametrs."
        )

        self.declareProperty(
            ITableWorkspaceProperty("OutputBraggPeakParameterWorkspace", "",
                                    Direction.Output),
            "Name of Table Workspace containing the filtered peaks' parameters."
        )

        self.declareProperty(
            "MinimumPeakHeight", 0.0,
            "Minimum peak height allowed for the peaks to fit. ")

        self.declareProperty("ZscoreFilter", "",
                             "Filter on the Zscore of the peak parameters.")

        return
コード例 #3
0
    def PyInit(self):
        self.declareProperty(
            WorkspaceProperty(name='InputWorkspace', defaultValue='', direction=Direction.Input),
            'Workspace with peaks to be identified')
        self.declareProperty(
            ITableWorkspaceProperty(name='PeakGuessTable',
                                    defaultValue='peak_guess',
                                    direction=Direction.Input),
            'Table containing the guess for the peak position')
        self.declareProperty('CentreTolerance',
                             1.0,
                             doc='Tolerance value used in looking for peak centre',
                             validator=FloatBoundedValidator(lower=0.0))
        self.declareProperty('EstimatedPeakSigma',
                             3.0,
                             doc='Estimate of the peak half width',
                             validator=FloatBoundedValidator(lower=0.0))
        self.declareProperty('MinPeakSigma',
                             0.1,
                             doc='Minimum value for the standard deviation of a peak',
                             validator=FloatBoundedValidator(lower=0.0))
        self.declareProperty('MaxPeakSigma',
                             30.0,
                             doc='Maximum value for the standard deviation of a peak',
                             validator=FloatBoundedValidator(lower=0.0))
        self.declareProperty('EstimateFitWindow',
                             True,
                             doc='If checked, algorithm attempts to calculate number of data points to use from'
                                 ' EstimatePeakSigma, if unchecked algorithm will use FitWindowSize argument')
        self.declareProperty('FitWindowSize',
                             5,
                             doc='Number of data point used to fit peaks, minimum allowed value is 5, '
                                 'value must be an odd number ',
                             validator=IntBoundedValidator(lower=5))
        self.declareProperty('GeneralFitTolerance',
                             0.1,
                             doc='Tolerance for the constraint in the general fit',
                             validator=FloatBoundedValidator(lower=0.0))
        self.declareProperty('RefitTolerance',
                             0.001,
                             doc='Tolerance for the constraint in the refitting',
                             validator=FloatBoundedValidator(lower=0.0))

        # Output table
        self.declareProperty(
            ITableWorkspaceProperty(name='PeakProperties',
                                    defaultValue='peak_table',
                                    direction=Direction.Output),
            'Table containing the properties of the peaks')
        self.declareProperty(
            ITableWorkspaceProperty(name='RefitPeakProperties',
                                    defaultValue='refit_peak_table',
                                    direction=Direction.Output),
            'Table containing the properties of the peaks that had to be fitted twice as the first'
            'time the error was unreasonably large')
        self.declareProperty(
            ITableWorkspaceProperty(name='FitCost',
                                    defaultValue='fit_cost',
                                    direction=Direction.Output),
            'Table containing the value of both chi2 and poisson cost functions for the fit')
コード例 #4
0
 def PyInit(self):
     self.declareProperty(ITableWorkspaceProperty('InputWorkspace', '',
                                                  Direction.Input),
                          doc='Input table workspace.')
     self.declareProperty(
         ITableWorkspaceProperty('OutputWorkspace', '', Direction.Output),
         doc='Output workspace contatining column statitics.')
コード例 #5
0
    def PyInit(self):
        self.declareProperty(
            WorkspaceProperty(name='InputWorkspace',
                              defaultValue='',
                              direction=Direction.Input),
            'Workspace with peaks to be identified')
        self.declareProperty(
            ITableWorkspaceProperty(name='PeakGuessTable',
                                    defaultValue='peak_guess',
                                    direction=Direction.Input),
            'Table containing the guess for the peak position')
        self.declareProperty(
            'CentreTolerance',
            1.0,
            doc='Tolerance value used in looking for peak centre',
            validator=FloatBoundedValidator(lower=0.0))
        self.declareProperty('EstimatedPeakSigma',
                             3.0,
                             doc='Estimate of the peak half width',
                             validator=FloatBoundedValidator(lower=0.0))
        self.declareProperty(
            'MinPeakSigma',
            0.1,
            doc='Minimum value for the standard deviation of a peak',
            validator=FloatBoundedValidator(lower=0.0))
        self.declareProperty(
            'MaxPeakSigma',
            30.0,
            doc='Maximum value for the standard deviation of a peak',
            validator=FloatBoundedValidator(lower=0.0))
        self.declareProperty(
            'GeneralFitTolerance',
            0.1,
            doc='Tolerance for the constraint in the general fit',
            validator=FloatBoundedValidator(lower=0.0))
        self.declareProperty(
            'RefitTolerance',
            0.001,
            doc='Tolerance for the constraint in the refitting',
            validator=FloatBoundedValidator(lower=0.0))

        # Output table
        self.declareProperty(
            ITableWorkspaceProperty(name='PeakProperties',
                                    defaultValue='peak_table',
                                    direction=Direction.Output),
            'Table containing the properties of the peaks')
        self.declareProperty(
            ITableWorkspaceProperty(name='RefitPeakProperties',
                                    defaultValue='refit_peak_table',
                                    direction=Direction.Output),
            'Table containing the properties of the peaks that had to be fitted twice as the first'
            'time the error was unreasonably large')
        self.declareProperty(
            ITableWorkspaceProperty(name='FitCost',
                                    defaultValue='fit_cost',
                                    direction=Direction.Output),
            'Table containing the value of both chi2 and poisson cost functions for the fit'
        )
コード例 #6
0
 def PyInit(self):
     self.declareProperty(ITableWorkspaceProperty('InputWorkspace', '', Direction.Input),
                          doc='Input table workspace.')
     validator = IntArrayBoundedValidator(lower=0)
     self.declareProperty(
         IntArrayProperty('ColumnIndices', values=[], direction=Direction.Input, validator=validator),
         'Comma separated list of column indices for which statistics will be separated')
     self.declareProperty(ITableWorkspaceProperty('OutputWorkspace', '', Direction.Output),
                          doc='Output workspace containing column statistics.')
コード例 #7
0
    def PyInit(self):
        """ Mantid required
        """

        self.declareProperty(FileProperty(name="Directory",defaultValue="",action=FileAction.Directory))

        self.declareProperty(ITableWorkspaceProperty("PoldiAnalysis", "PoldiAnalysis", direction=Direction.Output), "Poldi analysis main worksheet")
コード例 #8
0
 def PyInit(self):
     """ Declare properties
     """
     self.declareProperty(
         MatrixWorkspaceProperty("VanadiumWorkspace",
                                 "",
                                 direction=Direction.Input,
                                 validator=InstrumentValidator()),
         "Input Vanadium workspace")
     self.declareProperty(
         ITableWorkspaceProperty("EPPTable", "", direction=Direction.Input),
         ("Input EPP table. May be produced by FindEPP " + "algorithm."))
     self.declareProperty(
         MatrixWorkspaceProperty("OutputWorkspace",
                                 "",
                                 direction=Direction.Output),
         ("Name the workspace that will contain the " +
          "calibration coefficients"))
     self.declareProperty("Temperature",
                          defaultValue=Property.EMPTY_DBL,
                          validator=FloatBoundedValidator(lower=0.0),
                          direction=Direction.Input,
                          doc=("Temperature during the experiment (in " +
                               "Kelvins) if the 'temperature' sample log " +
                               "is missing or needs to be overriden."))
     return
コード例 #9
0
ファイル: ResNorm2.py プロジェクト: mcvine/mantid
    def PyInit(self):
        self.declareProperty(MatrixWorkspaceProperty('ResolutionWorkspace', '',
                                                     direction=Direction.Input),
                             doc='Workspace containing resolution')

        self.declareProperty(MatrixWorkspaceProperty('VanadiumWorkspace', '',
                                                     direction=Direction.Input),
                             doc='Workspace containing reduction of vanadium run')

        self.declareProperty(name='EnergyMin',
                             defaultValue=-0.2,
                             doc='Minimum energy for fit. Default=-0.2')

        self.declareProperty(name='EnergyMax',
                             defaultValue=0.2,
                             doc='Maximum energy for fit. Default=0.2')

        self.declareProperty(name='CreateOutput',
                             defaultValue=False,
                             doc='Create additional fitting output')

        self.declareProperty(WorkspaceGroupProperty('OutputWorkspace', '',
                                                    direction=Direction.Output),
                             doc='Fitted parameter output')

        self.declareProperty(ITableWorkspaceProperty('OutputWorkspaceTable', '',
                                                     optional=PropertyMode.Optional,
                                                     direction=Direction.Output),
                             doc='Table workspace of fit parameters')
コード例 #10
0
    def PyInit(self):
        self.declareProperty(
            MultipleFileProperty(name="Filename", extensions=EXTENSIONS_NXS),
            "Files to combine in reduction")
        self.declareProperty(
            "MaxChunkSize", 0.,
            "Specify maximum Gbytes of file to read in one chunk.  Default is whole file."
        )
        self.declareProperty(
            "FilterBadPulses",
            0.,
            doc=
            "Filter out events measured while proton charge is more than 5% below average"
        )

        self.declareProperty(
            MatrixWorkspaceProperty('AbsorptionWorkspace', '', Direction.Input,
                                    PropertyMode.Optional),
            doc='Divide data by this Pixel-by-pixel workspace')

        self.copyProperties('CreateCacheFilename', 'CacheDir')

        self.declareProperty(MatrixWorkspaceProperty('OutputWorkspace', '',
                                                     Direction.Output),
                             doc='Combined output workspace')
        self.copyProperties('AlignAndFocusPowder', ['UnfocussedWorkspace'])

        self.declareProperty(
            ITableWorkspaceProperty('Characterizations', '', Direction.Input,
                                    PropertyMode.Optional),
            'Characterizations table')

        self.copyProperties("AlignAndFocusPowder", PROPS_FOR_ALIGN)
        self.copyProperties('PDDetermineCharacterizations',
                            PROPS_FOR_PD_CHARACTER)
コード例 #11
0
    def PyInit(self):
        """ Declare properties
        """
        self.declareProperty(
            MatrixWorkspaceProperty("InputWorkspace", "", Direction.Input),
            "Focused diffraction workspace to be exported to GSAS file. ")

        self.declareProperty(
            ITableWorkspaceProperty('BinningTable', '', Direction.Input,
                                    PropertyMode.Optional),
            'Table workspace containing binning parameters. If not specified, then no re-binning'
            'is required')

        self.declareProperty(
            MatrixWorkspaceProperty("OutputWorkspace", "", Direction.Output),
            "Name of rebinned matrix workspace. ")

        self.declareProperty(
            FileProperty("GSSFilename", "", FileAction.Save, ['.gda']),
            "Name of the output GSAS file. ")

        self.declareProperty("IPTS", mantid.kernel.Property.EMPTY_INT,
                             "IPTS number")

        self.declareProperty(
            "GSSParmFileName", "",
            "GSAS parameter file name for this GSAS data file.")

        return
コード例 #12
0
    def PyInit(self):
        # input
        self.declareProperty(MatrixWorkspaceProperty("InputWorkspace", "", direction=Direction.Input),
                             doc="Input Sample or Vanadium workspace")

        # output
        self.declareProperty(ITableWorkspaceProperty("OutputWorkspace", "", Direction.Output),
                             doc="The name of the table workspace that will be created.")
コード例 #13
0
    def PyInit(self):
        inputWorkspaceValidator = CompositeValidator()
        inputWorkspaceValidator.add(InstrumentValidator())
        inputWorkspaceValidator.add(WorkspaceUnitValidator('TOF'))
        positiveFloat = FloatBoundedValidator(lower=0)

        self.declareProperty(MatrixWorkspaceProperty(
            name=common.PROP_INPUT_WS,
            defaultValue='',
            validator=inputWorkspaceValidator,
            optional=PropertyMode.Mandatory,
            direction=Direction.Input),
                             doc='Input workspace.')
        self.declareProperty(WorkspaceProperty(name=common.PROP_OUTPUT_WS,
                                               defaultValue='',
                                               direction=Direction.Output),
                             doc='The output of the algorithm.')
        self.declareProperty(name=common.PROP_CLEANUP_MODE,
                             defaultValue=common.CLEANUP_ON,
                             validator=StringListValidator(
                                 [common.CLEANUP_ON, common.CLEANUP_OFF]),
                             direction=Direction.Input,
                             doc='What to do with intermediate workspaces.')
        self.declareProperty(
            name=common.PROP_SUBALG_LOGGING,
            defaultValue=common.SUBALG_LOGGING_OFF,
            validator=StringListValidator(
                [common.SUBALG_LOGGING_OFF, common.SUBALG_LOGGING_ON]),
            direction=Direction.Input,
            doc='Enable or disable subalgorithms to ' + 'print in the logs.')
        self.declareProperty(
            ITableWorkspaceProperty(name=common.PROP_EPP_WS,
                                    defaultValue='',
                                    direction=Direction.Input,
                                    optional=PropertyMode.Mandatory),
            doc='Table workspace containing results from the FindEPP algorithm.'
        )
        self.declareProperty(
            name=common.PROP_DWF_CORRECTION,
            defaultValue=common.DWF_ON,
            validator=StringListValidator([common.DWF_ON, common.DWF_OFF]),
            direction=Direction.Input,
            doc=
            'Enable or disable the correction for the Debye-Waller factor for '
            + common.PROP_OUTPUT_WS + '.')
        self.declareProperty(
            name=common.PROP_TEMPERATURE,
            defaultValue=Property.EMPTY_DBL,
            validator=positiveFloat,
            direction=Direction.Input,
            doc='Experimental temperature (Vanadium ' +
            'reduction type only) for the Debye-Waller correction, in Kelvins.'
        )
        self.setPropertySettings(
            common.PROP_TEMPERATURE,
            EnabledWhenProperty(common.PROP_DWF_CORRECTION,
                                PropertyCriterion.IsDefault))
コード例 #14
0
ファイル: RetrieveRunInfo.py プロジェクト: mcvine/mantid
 def PyInit(self):
     # Declare algorithm properties.
     self.declareProperty(
         'Runs',
         '',
         StringMandatoryValidator(),
         doc='The range of runs to retrieve the run info for. E.g. "100-105".')
     self.declareProperty(ITableWorkspaceProperty("OutputWorkspace", "", Direction.Output),\
         doc= """The name of the TableWorkspace that will be created. '''You must specify a name that does not already exist.''' """)
コード例 #15
0
 def PyInit(self):
     # Declare properties
     self.declareProperty(
         ITableWorkspaceProperty("InputWorkspace", "", Direction.Input),
         "The name of the peaks workspace that will be optimized.")
     self.declareProperty("Tolerance", 0.15,
                          "Tolerance of indexing of peaks.")
     self.declareProperty(
         "OutputWorkspace", "",
         "The name of the peaks workspace that will be created.")
コード例 #16
0
    def PyInit(self):

        self.declareProperty(
            FileProperty('Directory', '', action=FileAction.Directory),
            doc='Path to directory containing data files for logging.')

        self.declareProperty(ITableWorkspaceProperty(
            'OutputWorkspace', '', direction=Direction.Output),
                             doc='The output table workspace.')

        self.declareProperty(
            "NumorRange", [0, 0],
            direction=Direction.Input,
            validator=IntArrayBoundedValidator(lower=0),
            doc=
            'Numor range or a list of numors to be analysed in the directory.')

        facilities = StringListValidator(list(config.getFacilityNames()))
        self.declareProperty(name='Facility',
                             defaultValue='ILL',
                             validator=facilities,
                             direction=Direction.Input,
                             doc='Facility the data belongs to.')

        self.declareProperty(
            'Instrument',
            '',
            validator=StringMandatoryValidator(),
            direction=Direction.Input,
            doc='Instrument the data has been collected with.')

        self.declareProperty(FileProperty('OutputFile',
                                          '',
                                          extensions=".csv",
                                          action=FileAction.OptionalSave),
                             doc='Comma-separated output file.')

        self.declareProperty(
            'OptionalHeaders',
            '',
            doc=
            'Names of optional metadata to be included in the logbook. Entries need to be specified'
            'in the instrument IPF.')

        self.declareProperty(
            'CustomEntries',
            '',
            doc=
            'Custom NeXus paths for additional metadata to be included in the logbook.'
        )

        self.declareProperty('CustomHeaders',
                             '',
                             doc='Names of those additional custom entries.')
コード例 #17
0
    def PyInit(self):
        """ Mantid required
        """
        self.declareProperty(ITableWorkspaceProperty("InputWorkspace", "PoldiAnalysis", direction=Direction.Input),
                             "Poldi analysis main worksheet")

        self.declareProperty(ITableWorkspaceProperty("OutputWorkspace", "PoldiIPPmanager", direction=Direction.Output),
                              "Poldi IPP table manager")

        self.declareProperty("wlenmin", 1.1,
                             doc = 'minimal wavelength considered' ,
                             direction = Direction.Input)
        self.declareProperty("wlenmax", 5.0,
                             doc = 'maximal wavelength considered' ,
                             direction = Direction.Input)


        self.declareProperty("BadWiresThreshold", 0.8,
                             doc = 'Bad wires threshold parameter',
                             direction = Direction.Input)

        self.declareProperty("PeakDetectionThreshold", 0.2,
                             doc = 'Peak detection threshold parameter',
                             direction = Direction.Input)
コード例 #18
0
ファイル: LoadFullprofFile.py プロジェクト: liquidmet/mantid
    def PyInit(self):
        """ Declare properties
        """
        self.declareProperty(FileProperty("Filename","", FileAction.Load, ['.hkl', '.prf', '.dat']),
                             "Name of [http://www.ill.eu/sites/fullprof/ Fullprof] .hkl or .prf file.")

        #self.declareProperty("Bank", 1, "Bank ID for output if there are more than one bank in .irf file.")

        self.declareProperty(ITableWorkspaceProperty("PeakParameterWorkspace", "", Direction.Output),
                             "Name of table workspace containing peak parameters from .hkl file.")

        self.declareProperty(MatrixWorkspaceProperty("OutputWorkspace", "", Direction.Output),
                             "Name of data workspace containing the diffraction pattern in .prf file. ")

        return
コード例 #19
0
    def PyInit(self):
        self.declareProperty(MatrixWorkspaceProperty('InputWorkspace', '', Direction.Input),
                             doc='Sample to run with')

        self.declareProperty(IntArrayProperty(name='SpectraRange'),
                             doc='Range of spectra to symmetrise (defaults to entire range if not set)')

        self.declareProperty('XMin', 0.0, doc='X value marking lower limit of curve to copy')
        self.declareProperty('XMax', 0.0, doc='X value marking upper limit of curve to copy')

        self.declareProperty(MatrixWorkspaceProperty('OutputWorkspace', '',\
                             Direction.Output), doc='Name to call the output workspace.')

        self.declareProperty(ITableWorkspaceProperty('OutputPropertiesTable', '',
                                                     Direction.Output, PropertyMode.Optional),
                             doc='Name to call the properties output table workspace.')
コード例 #20
0
    def PyInit(self):
        """Initilize the algorithms properties"""

        self.declareProperty(ITableWorkspaceProperty("InputWorkspace", '', Direction.Input),
                             doc="The name of the peaks worksapce to save")

        self.declareProperty(FileProperty("Filename", "",
                                          action=FileAction.Save,
                                          direction=Direction.Input),
                             doc="File with the data from a phonon calculation.")

        self.declareProperty(name="Format",
                             direction=Direction.Input,
                             defaultValue="Fullprof",
                             validator=StringListValidator(SUPPORTED_FORMATS),
                             doc="The output format to export reflections to")
コード例 #21
0
    def PyInit(self):
        self.declareProperty(MatrixWorkspaceProperty(
            'SampleWorkspace',
            '',
            optional=PropertyMode.Mandatory,
            direction=Direction.Input),
                             doc="Name for the sample workspace.")

        self.declareProperty(MatrixWorkspaceProperty(
            'ResolutionWorkspace',
            '',
            optional=PropertyMode.Mandatory,
            direction=Direction.Input),
                             doc="Name for the resolution workspace.")

        self.declareProperty(name='EnergyMin',
                             defaultValue=-0.5,
                             doc='Minimum energy for fit. Default=-0.5')
        self.declareProperty(name='EnergyMax',
                             defaultValue=0.5,
                             doc='Maximum energy for fit. Default=0.5')
        self.declareProperty(
            name='BinReductionFactor',
            defaultValue=10.0,
            doc=
            'Decrease total number of spectrum points by this ratio through merging of '
            'intensities from neighbouring bins. Default=1')

        self.declareProperty(
            ITableWorkspaceProperty('ParameterWorkspace',
                                    '',
                                    direction=Direction.Output,
                                    optional=PropertyMode.Optional),
            doc='Table workspace for saving TransformToIqt properties')

        self.declareProperty(MatrixWorkspaceProperty(
            'OutputWorkspace',
            '',
            direction=Direction.Output,
            optional=PropertyMode.Optional),
                             doc='Output workspace')

        self.declareProperty(name='DryRun',
                             defaultValue=False,
                             doc='Only calculate and output the parameters')
コード例 #22
0
 def PyInit(self):
     """ Declare properties
     """
     self.declareProperty(
         MatrixWorkspaceProperty("VanadiumWorkspace",
                                 "",
                                 direction=Direction.Input,
                                 validator=InstrumentValidator()),
         "Input Vanadium workspace")
     self.declareProperty(
         ITableWorkspaceProperty("EPPTable", "", direction=Direction.Input),
         "Input EPP table. May be produced by FindEPP algorithm.")
     self.declareProperty(
         MatrixWorkspaceProperty("OutputWorkspace",
                                 "",
                                 direction=Direction.Output),
         "Name the workspace that will contain the calibration coefficients"
     )
     return
コード例 #23
0
 def PyInit(self):
     """ Declare properties
     """
     validator = CompositeValidator()
     validator.add(WorkspaceUnitValidator("TOF"))
     validator.add(InstrumentValidator())
     self.declareProperty(MatrixWorkspaceProperty("InputWorkspace",
                                                  "",
                                                  direction=Direction.Input,
                                                  validator=validator),
                          doc="Input workspace.")
     self.declareProperty(
         ITableWorkspaceProperty("EPPTable", "", direction=Direction.Input),
         doc="Input EPP table. May be produced by FindEPP algorithm.")
     self.declareProperty(
         MatrixWorkspaceProperty("OutputWorkspace",
                                 "",
                                 direction=Direction.Output),
         doc="Name of the workspace that will contain the results")
     return
コード例 #24
0
 def PyInit(self):
     self.declareProperty(name='DSpacing',
                          defaultValue=2.8589,
                          validator=FloatBoundedValidator(lower=2, upper=2.95),
                          doc="Position of (111) reflection in dSpacing",
                          direction=Direction.Input)
     self.declareProperty(name='T',
                          defaultValue=300.0,
                          validator=FloatBoundedValidator(lower=100),
                          doc="Sample temperature in K",
                          direction=Direction.Input)
     self.declareProperty(name='TargetPressure',
                          defaultValue=0.0,
                          validator=FloatBoundedValidator(lower=0),
                          doc="Optional: search for (111) position for a given pressure (GPa) and temperature, "
                              "leave at default value to disable.")
     self.declareProperty(ITableWorkspaceProperty(name='OutputWorkspace',
                                                  direction=Direction.Output,
                                                  defaultValue='LeadPressureCalcResults'),
                          doc='Name of Output Table workspace holding the values')
コード例 #25
0
    def PyInit(self):
        self.declareProperty(
            IPeaksWorkspaceProperty(name="NuclearPeaks",
                                    defaultValue="",
                                    direction=Direction.Input),
            doc=
            "Main integer HKL peaks. Q vectors will be calculated relative to these peaks."
        )

        self.declareProperty(
            IPeaksWorkspaceProperty(name="SatellitePeaks",
                                    defaultValue="",
                                    direction=Direction.Input),
            doc="Positions of satellite peaks with fractional \
                             HKL coordinates")

        self.declareProperty(
            ITableWorkspaceProperty(name="OutputWorkspace",
                                    defaultValue="",
                                    direction=Direction.Output),
            doc="The indexed satellite peaks. This will be a  \
                             table workspace with miller indicies h, k, l, m1, \
                             m2, ..., mn.")

        self.declareProperty('Tolerance',
                             0.3,
                             direction=Direction.Input,
                             doc="Tolerance on the noise of the q vectors")

        self.declareProperty('NumOfQs',
                             1,
                             direction=Direction.Input,
                             doc="Number of independant q vectors")

        self.declareProperty(
            'ClusterThreshold',
            1.5,
            direction=Direction.Input,
            doc=
            "Threshold for automaticallty deciding on the number of q vectors to use. If NumOfQs found is set then this \
                             is property is ignored.")
コード例 #26
0
ファイル: MatchPeaks.py プロジェクト: gemmaguest/mantid
    def PyInit(self):
        self.declareProperty(MatrixWorkspaceProperty(
            'InputWorkspace', defaultValue='', direction=Direction.Input),
                             doc='Input workspace')

        self.declareProperty(MatrixWorkspaceProperty(
            'InputWorkspace2',
            defaultValue='',
            direction=Direction.Input,
            optional=PropertyMode.Optional),
                             doc='Input workspace to align peaks with')

        self.declareProperty(MatrixWorkspaceProperty(
            'InputWorkspace3',
            defaultValue='',
            direction=Direction.Input,
            optional=PropertyMode.Optional),
                             doc='Input workspace to align peaks with')

        self.declareProperty('MaskBins',
                             defaultValue=False,
                             doc='Whether to mask shifted bins')

        self.declareProperty(
            'MatchInput2ToCenter',
            defaultValue=False,
            doc='Match peaks such that InputWorkspace2 would be centered')

        self.declareProperty(MatrixWorkspaceProperty(
            'OutputWorkspace', defaultValue='', direction=Direction.Output),
                             doc='Shifted output workspace')

        self.declareProperty(
            ITableWorkspaceProperty('BinRangeTable',
                                    defaultValue='',
                                    direction=Direction.Output,
                                    optional=PropertyMode.Optional),
            doc='Table workspace that contains two values defining a range. '
            'Bins outside this range are overflown out of range due to circular shift'
            'and can be masked.')
コード例 #27
0
ファイル: TransformToIqt.py プロジェクト: luzpaz/mantid
    def PyInit(self):
        self.declareProperty(MatrixWorkspaceProperty('SampleWorkspace', '',
                                                     optional=PropertyMode.Mandatory,
                                                     direction=Direction.Input),
                             doc="Name for the sample workspace.")

        self.declareProperty(MatrixWorkspaceProperty('ResolutionWorkspace', '',
                                                     optional=PropertyMode.Mandatory,
                                                     direction=Direction.Input),
                             doc="Name for the resolution workspace.")

        self.declareProperty(name='EnergyMin', defaultValue=-0.5,
                             doc='Minimum energy for fit. Default=-0.5')
        self.declareProperty(name='EnergyMax', defaultValue=0.5,
                             doc='Maximum energy for fit. Default=0.5')
        self.declareProperty(name='BinReductionFactor', defaultValue=10.0,
                             doc='Decrease total number of spectrum points by this ratio through merging of '
                                 'intensities from neighbouring bins. Default=1')

        self.declareProperty('NumberOfIterations', DEFAULT_ITERATIONS, IntBoundedValidator(lower=1),
                             doc="Number of randomised simulations for monte-carlo error calculation.")

        self.declareProperty('SeedValue', DEFAULT_SEED, IntBoundedValidator(lower=1),
                             doc="Seed for pseudo-random number generator in monte-carlo error calculation.")

        self.declareProperty(ITableWorkspaceProperty('ParameterWorkspace', '',
                                                     direction=Direction.Output,
                                                     optional=PropertyMode.Optional),
                             doc='Table workspace for saving TransformToIqt properties')

        self.declareProperty(MatrixWorkspaceProperty('OutputWorkspace', '',
                                                     direction=Direction.Output,
                                                     optional=PropertyMode.Optional),
                             doc='Output workspace')

        self.declareProperty(name='DryRun', defaultValue=False,
                             doc='Only calculate and output the parameters')
        self.declareProperty('CalculateErrors', defaultValue=True,
                             doc="Calculate monte-carlo errors.")
コード例 #28
0
    def PyInit(self):
        self.declareProperty(MatrixWorkspaceProperty('Sample', '', Direction.Input),
                             doc='Sample to run with')

        self.declareProperty(IntArrayProperty(name='SpectraRange'),
                             doc='Range of spectra to symmetrise (defaults to entire range if not set)')

        self.declareProperty('XMin', 0.0, doc='X value marking lower limit of curve to copy')
        self.declareProperty('XMax', 0.0, doc='X value marking upper limit of curve to copy')

        self.declareProperty('Verbose', defaultValue=False,
                             doc='Switch verbose output Off/On')
        self.declareProperty('Plot', defaultValue=False,
                             doc='Switch plotting Off/On')
        self.declareProperty('Save', defaultValue=False,
                             doc='Switch saving result to nxs file Off/On')

        self.declareProperty(MatrixWorkspaceProperty('OutputWorkspace', '',
                             Direction.Output), doc='Name to call the output workspace.')

        self.declareProperty(ITableWorkspaceProperty('OutputPropertiesTable', '',
                             Direction.Output, PropertyMode.Optional), doc='Name to call the properties output table workspace.')
コード例 #29
0
    def PyInit(self):
        """Initialize the algorithm's input and output properties."""
        PROPGROUP_BEAM_STOP_DIAGNOSTICS = 'Beam Stop Diagnostics'
        PROPGROUP_BKG_DIAGNOSTICS = 'Background Diagnostics'
        PROPGROUP_PEAK_DIAGNOSTICS = 'Elastic Peak Diagnostics'
        PROPGROUP_USER_MASK = 'Additional Masking'
        greaterThanUnityFloat = FloatBoundedValidator(lower=1)
        inputWorkspaceValidator = CompositeValidator()
        inputWorkspaceValidator.add(InstrumentValidator())
        inputWorkspaceValidator.add(WorkspaceUnitValidator('TOF'))
        positiveFloat = FloatBoundedValidator(lower=0)
        positiveIntArray = IntArrayBoundedValidator()
        positiveIntArray.setLower(0)
        scalingFactor = FloatBoundedValidator(lower=0, upper=1)

        # Properties.
        self.declareProperty(
            MatrixWorkspaceProperty(name=common.PROP_INPUT_WS,
                                    defaultValue='',
                                    validator=inputWorkspaceValidator,
                                    direction=Direction.Input),
            doc=
            "A 'raw' workspace from DirectILLCollectData to calculate the diagnostics from."
        )
        self.declareProperty(WorkspaceProperty(name=common.PROP_OUTPUT_WS,
                                               defaultValue='',
                                               direction=Direction.Output),
                             doc='A diagnostics mask workspace.')
        self.declareProperty(name=common.PROP_CLEANUP_MODE,
                             defaultValue=common.CLEANUP_ON,
                             validator=StringListValidator(
                                 [common.CLEANUP_ON, common.CLEANUP_OFF]),
                             direction=Direction.Input,
                             doc='What to do with intermediate workspaces.')
        self.declareProperty(
            name=common.PROP_SUBALG_LOGGING,
            defaultValue=common.SUBALG_LOGGING_OFF,
            validator=StringListValidator(
                [common.SUBALG_LOGGING_OFF, common.SUBALG_LOGGING_ON]),
            direction=Direction.Input,
            doc='Enable or disable subalgorithms to ' + 'print in the logs.')
        self.declareProperty(
            ITableWorkspaceProperty(name=common.PROP_EPP_WS,
                                    defaultValue='',
                                    direction=Direction.Input,
                                    optional=PropertyMode.Optional),
            doc='Table workspace containing results from the FindEPP algorithm.'
        )
        self.declareProperty(name=common.PROP_ELASTIC_PEAK_DIAGNOSTICS,
                             defaultValue=common.ELASTIC_PEAK_DIAGNOSTICS_AUTO,
                             validator=StringListValidator([
                                 common.ELASTIC_PEAK_DIAGNOSTICS_AUTO,
                                 common.ELASTIC_PEAK_DIAGNOSTICS_ON,
                                 common.ELASTIC_PEAK_DIAGNOSTICS_OFF
                             ]),
                             direction=Direction.Input,
                             doc='Enable or disable elastic peak diagnostics.')
        self.setPropertyGroup(common.PROP_ELASTIC_PEAK_DIAGNOSTICS,
                              PROPGROUP_PEAK_DIAGNOSTICS)
        self.declareProperty(
            name=common.PROP_ELASTIC_PEAK_SIGMA_MULTIPLIER,
            defaultValue=3.0,
            validator=positiveFloat,
            direction=Direction.Input,
            doc="Integration half width of the elastic peak in multiples " +
            " of 'Sigma' in the EPP table.")
        self.setPropertyGroup(common.PROP_ELASTIC_PEAK_SIGMA_MULTIPLIER,
                              PROPGROUP_PEAK_DIAGNOSTICS)
        self.declareProperty(name=common.PROP_PEAK_DIAGNOSTICS_LOW_THRESHOLD,
                             defaultValue=Property.EMPTY_DBL,
                             validator=positiveFloat,
                             direction=Direction.Input,
                             doc='Multiplier for lower acceptance limit ' +
                             'used in elastic peak diagnostics.')
        self.setPropertyGroup(common.PROP_PEAK_DIAGNOSTICS_LOW_THRESHOLD,
                              PROPGROUP_PEAK_DIAGNOSTICS)
        self.declareProperty(name=common.PROP_PEAK_DIAGNOSTICS_HIGH_THRESHOLD,
                             defaultValue=Property.EMPTY_DBL,
                             validator=greaterThanUnityFloat,
                             direction=Direction.Input,
                             doc='Multiplier for higher acceptance limit ' +
                             'used in elastic peak diagnostics.')
        self.setPropertyGroup(common.PROP_PEAK_DIAGNOSTICS_HIGH_THRESHOLD,
                              PROPGROUP_PEAK_DIAGNOSTICS)
        self.declareProperty(
            name=common.PROP_PEAK_DIAGNOSTICS_SIGNIFICANCE_TEST,
            defaultValue=Property.EMPTY_DBL,
            validator=positiveFloat,
            direction=Direction.Input,
            doc=
            'To fail the elastic peak diagnostics, the intensity must also exceed '
            +
            'this number of error bars with respect to the median intensity.')
        self.setPropertyGroup(common.PROP_PEAK_DIAGNOSTICS_SIGNIFICANCE_TEST,
                              PROPGROUP_PEAK_DIAGNOSTICS)
        self.declareProperty(name=common.PROP_BKG_DIAGNOSTICS,
                             defaultValue=common.BKG_DIAGNOSTICS_AUTO,
                             validator=StringListValidator([
                                 common.BKG_DIAGNOSTICS_AUTO,
                                 common.BKG_DIAGNOSTICS_ON,
                                 common.BKG_DIAGNOSTICS_OFF
                             ]),
                             direction=Direction.Input,
                             doc='Control the background diagnostics.')
        self.setPropertyGroup(common.PROP_BKG_DIAGNOSTICS,
                              PROPGROUP_BKG_DIAGNOSTICS)
        self.declareProperty(
            name=common.PROP_BKG_SIGMA_MULTIPLIER,
            defaultValue=10.0,
            validator=positiveFloat,
            direction=Direction.Input,
            doc=
            "Width of the range excluded from background integration around " +
            "the elastic peaks in multiplies of 'Sigma' in the EPP table")
        self.setPropertyGroup(common.PROP_BKG_SIGMA_MULTIPLIER,
                              PROPGROUP_BKG_DIAGNOSTICS)
        self.declareProperty(name=common.PROP_BKG_DIAGNOSTICS_LOW_THRESHOLD,
                             defaultValue=Property.EMPTY_DBL,
                             validator=positiveFloat,
                             direction=Direction.Input,
                             doc='Multiplier for lower acceptance limit ' +
                             'used in noisy background diagnostics.')
        self.setPropertyGroup(common.PROP_BKG_DIAGNOSTICS_LOW_THRESHOLD,
                              PROPGROUP_BKG_DIAGNOSTICS)
        self.declareProperty(name=common.PROP_BKG_DIAGNOSTICS_HIGH_THRESHOLD,
                             defaultValue=Property.EMPTY_DBL,
                             validator=greaterThanUnityFloat,
                             direction=Direction.Input,
                             doc='Multiplier for higher acceptance limit ' +
                             'used in noisy background diagnostics.')
        self.setPropertyGroup(common.PROP_BKG_DIAGNOSTICS_HIGH_THRESHOLD,
                              PROPGROUP_BKG_DIAGNOSTICS)
        self.declareProperty(
            name=common.PROP_BKG_DIAGNOSTICS_SIGNIFICANCE_TEST,
            defaultValue=Property.EMPTY_DBL,
            validator=positiveFloat,
            direction=Direction.Input,
            doc=
            'To fail the background diagnostics, the background level must also exceed '
            + 'this number of error bars with respect to the median level.')
        self.setPropertyGroup(common.PROP_BKG_DIAGNOSTICS_SIGNIFICANCE_TEST,
                              PROPGROUP_BKG_DIAGNOSTICS)
        self.declareProperty(name=common.PROP_BEAM_STOP_DIAGNOSTICS,
                             defaultValue=common.BEAM_STOP_DIAGNOSTICS_AUTO,
                             validator=StringListValidator([
                                 common.BEAM_STOP_DIAGNOSTICS_AUTO,
                                 common.BEAM_STOP_DIAGNOSTICS_ON,
                                 common.BEAM_STOP_DIAGNOSTICS_OFF
                             ]),
                             direction=Direction.Input,
                             doc='Control the beam stop diagnostics.')
        self.setPropertyGroup(common.PROP_BEAM_STOP_DIAGNOSTICS,
                              PROPGROUP_BEAM_STOP_DIAGNOSTICS)
        self.declareProperty(
            name=common.PROP_BEAM_STOP_THRESHOLD,
            defaultValue=0.67,
            validator=scalingFactor,
            direction=Direction.Input,
            doc=
            'Multiplier for the lower acceptance limit for beam stop diagnostics.'
        )
        self.setPropertyGroup(common.PROP_BEAM_STOP_THRESHOLD,
                              PROPGROUP_BEAM_STOP_DIAGNOSTICS)
        self.declareProperty(
            name=common.PROP_DEFAULT_MASK,
            defaultValue=common.DEFAULT_MASK_ON,
            validator=StringListValidator(
                [common.DEFAULT_MASK_ON, common.DEFAULT_MASK_OFF]),
            direction=Direction.Input,
            doc='Enable or disable instrument specific default mask.')
        self.declareProperty(IntArrayProperty(name=common.PROP_USER_MASK,
                                              values='',
                                              validator=positiveIntArray,
                                              direction=Direction.Input),
                             doc='List of spectra to mask.')
        self.setPropertyGroup(common.PROP_USER_MASK, PROPGROUP_USER_MASK)
        self.declareProperty(StringArrayProperty(
            name=common.PROP_USER_MASK_COMPONENTS,
            values='',
            direction=Direction.Input),
                             doc='List of instrument components to mask.')
        self.setPropertyGroup(common.PROP_USER_MASK_COMPONENTS,
                              PROPGROUP_USER_MASK)
        # Rest of the output properties
        self.declareProperty(
            ITableWorkspaceProperty(
                name=common.PROP_OUTPUT_DIAGNOSTICS_REPORT_WS,
                defaultValue='',
                direction=Direction.Output,
                optional=PropertyMode.Optional),
            doc='Output table workspace for detector diagnostics reporting.')
        self.setPropertyGroup(common.PROP_OUTPUT_DIAGNOSTICS_REPORT_WS,
                              common.PROPGROUP_OPTIONAL_OUTPUT)
        self.declareProperty(name=common.PROP_OUTPUT_DIAGNOSTICS_REPORT,
                             defaultValue='',
                             direction=Direction.Output,
                             doc='Diagnostics report as a string.')
        self.setPropertyGroup(common.PROP_OUTPUT_DIAGNOSTICS_REPORT,
                              common.PROPGROUP_OPTIONAL_OUTPUT)
コード例 #30
0
    def PyInit(self):
        """Initialize the algorithm's input and output properties."""
        PROPGROUP_FLAT_BKG = 'Flat Time-Independent Background'
        PROPGROUP_INCIDENT_ENERGY_CALIBRATION = 'Indicent Energy Calibration'
        PROPGROUP_MON_NORMALISATION = 'Neutron Flux Normalisation'
        # Validators.
        mandatoryPositiveInt = CompositeValidator()
        mandatoryPositiveInt.add(IntMandatoryValidator())
        mandatoryPositiveInt.add(IntBoundedValidator(lower=0))
        positiveFloat = FloatBoundedValidator(lower=0)
        positiveInt = IntBoundedValidator(lower=0)
        inputWorkspaceValidator = CompositeValidator()
        inputWorkspaceValidator.add(InstrumentValidator())
        inputWorkspaceValidator.add(WorkspaceUnitValidator('TOF'))

        # Properties.
        self.declareProperty(MultipleFileProperty(name=common.PROP_INPUT_FILE,
                                                  action=FileAction.OptionalLoad,
                                                  extensions=['nxs']),
                             doc='An input run number (or a list thereof) or a filename.')
        self.getProperty(common.PROP_INPUT_FILE).setAutoTrim(False)
        self.declareProperty(MatrixWorkspaceProperty(
            name=common.PROP_INPUT_WS,
            defaultValue='',
            validator=inputWorkspaceValidator,
            optional=PropertyMode.Optional,
            direction=Direction.Input),
            doc='Input workspace if no run is given.')
        self.declareProperty(WorkspaceProperty(name=common.PROP_OUTPUT_WS,
                                               defaultValue='',
                                               direction=Direction.Output),
                             doc='A flux normalized and background subtracted workspace.')
        self.declareProperty(name=common.PROP_CLEANUP_MODE,
                             defaultValue=utils.Cleanup.ON,
                             validator=StringListValidator([
                                 utils.Cleanup.ON,
                                 utils.Cleanup.OFF]),
                             direction=Direction.Input,
                             doc='What to do with intermediate workspaces.')
        self.declareProperty(name=common.PROP_SUBALG_LOGGING,
                             defaultValue=common.SUBALG_LOGGING_OFF,
                             validator=StringListValidator([
                                 common.SUBALG_LOGGING_OFF,
                                 common.SUBALG_LOGGING_ON]),
                             direction=Direction.Input,
                             doc='Enable or disable subalgorithms to ' + 'print in the logs.')
        self.declareProperty(name=common.PROP_EPP_METHOD,
                             defaultValue=common.EPP_METHOD_AUTO,
                             validator=StringListValidator([
                                 common.EPP_METHOD_AUTO,
                                 common.EPP_METHOD_FIT,
                                 common.EPP_METHOD_CALCULATE]),
                             direction=Direction.Input,
                             doc='Method to create the EPP table for detectors (monitor is awlays fitted).')
        self.declareProperty(name=common.PROP_EPP_SIGMA,
                             defaultValue=Property.EMPTY_DBL,
                             validator=positiveFloat,
                             direction=Direction.Input,
                             doc='Nominal sigma for the EPP table when ' + common.PROP_EPP_METHOD
                                 + ' is set to ' + common.EPP_METHOD_CALCULATE
                                 + ' (default: 10 times the first bin width).')
        self.declareProperty(name=common.PROP_ELASTIC_CHANNEL_MODE,
                             defaultValue=common.ELASTIC_CHANNEL_AUTO,
                             validator=StringListValidator([
                                 common.ELASTIC_CHANNEL_AUTO,
                                 common.ELASTIC_CHANNEL_SAMPLE_LOG,
                                 common.ELASTIC_CHANNEL_FIT]),
                             direction=Direction.Input,
                             doc='How to acquire the nominal elastic channel.')
        self.declareProperty(MatrixWorkspaceProperty(
                             name=common.PROP_ELASTIC_CHANNEL_WS,
                             defaultValue='',
                             direction=Direction.Input,
                             optional=PropertyMode.Optional),
                             doc='A single value workspace containing the nominal elastic channel index'
                                 '(can be floating point). Overrides {}.'.format(common.PROP_ELASTIC_CHANNEL_MODE))
        self.declareProperty(name=common.PROP_MON_INDEX,
                             defaultValue=Property.EMPTY_INT,
                             validator=positiveInt,
                             direction=Direction.Input,
                             doc='Index of the incident monitor, if not specified in instrument parameters.')
        self.declareProperty(name=common.PROP_INCIDENT_ENERGY_CALIBRATION,
                             defaultValue=common.INCIDENT_ENERGY_CALIBRATION_AUTO,
                             validator=StringListValidator([
                                 common.INCIDENT_ENERGY_CALIBRATION_AUTO,
                                 common.INCIDENT_ENERGY_CALIBRATION_ON,
                                 common.INCIDENT_ENERGY_CALIBRATION_OFF]),
                             direction=Direction.Input,
                             doc='Control the incident energy calibration.')
        self.setPropertyGroup(common.PROP_INCIDENT_ENERGY_CALIBRATION, PROPGROUP_INCIDENT_ENERGY_CALIBRATION)
        self.declareProperty(MatrixWorkspaceProperty(
            name=common.PROP_INCIDENT_ENERGY_WS,
            defaultValue='',
            direction=Direction.Input,
            optional=PropertyMode.Optional),
            doc='A single-valued workspace holding a previously determined ' + 'incident energy.')
        self.setPropertyGroup(common.PROP_INCIDENT_ENERGY_WS, PROPGROUP_INCIDENT_ENERGY_CALIBRATION)
        self.declareProperty(name=common.PROP_FLAT_BKG,
                             defaultValue=common.BKG_AUTO,
                             validator=StringListValidator([
                                 common.BKG_AUTO,
                                 common.BKG_ON,
                                 common.BKG_OFF]),
                             direction=Direction.Input,
                             doc='Control flat background subtraction.')
        self.setPropertyGroup(common.PROP_FLAT_BKG, PROPGROUP_FLAT_BKG)
        self.declareProperty(name=common.PROP_FLAT_BKG_SCALING,
                             defaultValue=1.0,
                             validator=positiveFloat,
                             direction=Direction.Input,
                             doc='Flat background multiplication factor.')
        self.setPropertyGroup(common.PROP_FLAT_BKG_SCALING, PROPGROUP_FLAT_BKG)
        self.declareProperty(name=common.PROP_FLAT_BKG_WINDOW,
                             defaultValue=30,
                             validator=mandatoryPositiveInt,
                             direction=Direction.Input,
                             doc='Running average window width (in bins) for flat background.')
        self.setPropertyGroup(common.PROP_FLAT_BKG_WINDOW, PROPGROUP_FLAT_BKG)
        self.declareProperty(MatrixWorkspaceProperty(
            name=common.PROP_FLAT_BKG_WS,
            defaultValue='',
            direction=Direction.Input,
            optional=PropertyMode.Optional),
            doc='Workspace with previously determined flat background data.')
        self.setPropertyGroup(common.PROP_FLAT_BKG_WS, PROPGROUP_FLAT_BKG)
        self.declareProperty(name=common.PROP_DET_HOR_GROUPING,
                             defaultValue=1,
                             doc='Step to use when grouping detectors horizontally (between tubes) to increase'
                                 ' the statistics for flat background calculation.')
        self.setPropertyGroup(common.PROP_DET_HOR_GROUPING, PROPGROUP_FLAT_BKG)
        self.declareProperty(name=common.PROP_DET_VER_GROUPING,
                             defaultValue=1,
                             doc='Step to use when grouping detectors vertically (inside the same tube)'
                                 ' to increase the statistics for flat background calculation.')
        self.setPropertyGroup(common.PROP_DET_VER_GROUPING, PROPGROUP_FLAT_BKG)
        self.declareProperty(name=common.PROP_NORMALISATION,
                             defaultValue=common.NORM_METHOD_MON,
                             validator=StringListValidator([
                                 common.NORM_METHOD_MON,
                                 common.NORM_METHOD_TIME,
                                 common.NORM_METHOD_OFF]),
                             direction=Direction.Input,
                             doc='Normalisation method.')
        self.setPropertyGroup(common.PROP_NORMALISATION, PROPGROUP_MON_NORMALISATION)
        self.declareProperty(name=common.PROP_MON_PEAK_SIGMA_MULTIPLIER,
                             defaultValue=7.0,
                             validator=positiveFloat,
                             direction=Direction.Input,
                             doc="Width of the monitor peak in multiples " + " of 'Sigma' in monitor's EPP table.")
        self.setPropertyGroup(common.PROP_MON_PEAK_SIGMA_MULTIPLIER, PROPGROUP_MON_NORMALISATION)
        # Rest of the output properties.
        self.declareProperty(WorkspaceProperty(
            name=common.PROP_OUTPUT_RAW_WS,
            defaultValue='',
            direction=Direction.Output,
            optional=PropertyMode.Optional),
            doc='Non-normalized and non-background subtracted output workspace for DirectILLDiagnostics.')
        self.setPropertyGroup(common.PROP_OUTPUT_RAW_WS,
                              common.PROPGROUP_OPTIONAL_OUTPUT)
        self.declareProperty(WorkspaceProperty(
            name=common.PROP_OUTPUT_ELASTIC_CHANNEL_WS,
            defaultValue='',
            direction=Direction.Output,
            optional=PropertyMode.Optional),
            doc='Output workspace for elastic channel index.')
        self.setPropertyGroup(common.PROP_OUTPUT_ELASTIC_CHANNEL_WS,
                              common.PROPGROUP_OPTIONAL_OUTPUT)
        self.declareProperty(ITableWorkspaceProperty(
            name=common.PROP_OUTPUT_DET_EPP_WS,
            defaultValue='',
            direction=Direction.Output,
            optional=PropertyMode.Optional),
            doc='Output workspace for elastic peak positions.')
        self.setPropertyGroup(common.PROP_OUTPUT_DET_EPP_WS,
                              common.PROPGROUP_OPTIONAL_OUTPUT)
        self.declareProperty(WorkspaceProperty(
            name=common.PROP_OUTPUT_INCIDENT_ENERGY_WS,
            defaultValue='',
            direction=Direction.Output,
            optional=PropertyMode.Optional),
            doc='Output workspace for calibrated incident energy.')
        self.setPropertyGroup(common.PROP_OUTPUT_INCIDENT_ENERGY_WS,
                              common.PROPGROUP_OPTIONAL_OUTPUT)
        self.declareProperty(WorkspaceProperty(
            name=common.PROP_OUTPUT_FLAT_BKG_WS,
            defaultValue='',
            direction=Direction.Output,
            optional=PropertyMode.Optional),
            doc='Output workspace for flat background.')
        self.setPropertyGroup(common.PROP_OUTPUT_FLAT_BKG_WS,
                              common.PROPGROUP_OPTIONAL_OUTPUT)