|
Mantid
|
#include <FitPeaks.h>
Public Member Functions | |
| const std::string | category () const override |
| Algorithm's category for identification. | |
| FitPeaks () | |
| const std::string | name () const override |
| Algorithm's name. | |
| const std::string | summary () const override |
| Summary of algorithms purpose. | |
| std::map< std::string, std::string > | validateInputs () override |
| Validate inputs. | |
| int | version () const override |
| Algorithm's version. | |
Public Member Functions inherited from Mantid::API::Algorithm | |
| Algorithm () | |
| Constructor. | |
| Algorithm (const Algorithm &)=delete | |
| Algorithm & | operator= (const Algorithm &)=delete |
| ~Algorithm () override | |
| Virtual destructor. | |
| void | initialize () override |
| Initialization method invoked by the framework. | |
| bool | execute () override final |
| The actions to be performed by the algorithm on a dataset. | |
| void | addTimer (const std::string &name, const Kernel::time_point_ns &begin, const Kernel::time_point_ns &end) |
| void | executeAsChildAlg () override |
| Execute as a Child Algorithm. | |
| std::map< std::string, std::string > | validateInputs () override |
| Perform validation of ALL the input properties of the algorithm. | |
| ExecutionState | executionState () const override |
| Gets the current execution state. | |
| ResultState | resultState () const override |
| Gets the current result State. | |
| bool | isInitialized () const override |
| Has the Algorithm already been initialized. | |
| bool | isExecuted () const override |
| Has the Algorithm already been executed successfully. | |
| bool | isRunning () const override |
| True if the algorithm is running. | |
| bool | isReadyForGarbageCollection () const override |
| True if the algorithm is ready for garbage collection. | |
| bool | isChild () const override |
| To query whether algorithm is a child. | |
| void | setChild (const bool isChild) override |
| To set whether algorithm is a child. | |
| void | enableHistoryRecordingForChild (const bool on) override |
| Change the state of the history recording flag. | |
| void | enableHistoryRecordingForProcessGroups (const bool on) override |
| Change the state of the processGroups history recording flag. | |
| bool | isRecordingHistoryForChild () |
| void | setAlwaysStoreInADS (const bool doStore) override |
| Do we ALWAYS store in the AnalysisDataService? This is set to true for python algorithms' child algorithms. | |
| bool | getAlwaysStoreInADS () const override |
| Returns true if we always store in the AnalysisDataService. | |
| void | setRethrows (const bool rethrow) override |
| Set whether the algorithm will rethrow exceptions. | |
| Poco::ActiveResult< bool > | executeAsync () override |
| Asynchronous execution. | |
| void | addObserver (const Poco::AbstractObserver &observer) const override |
| Add an observer for a notification. | |
| void | removeObserver (const Poco::AbstractObserver &observer) const override |
| Remove an observer. | |
| void | cancel () override |
| Raises the cancel flag. | |
| bool | getCancel () const |
| Returns the cancellation state. | |
| Kernel::Logger & | getLogger () const |
| Returns a reference to the logger. | |
| void | setLogging (const bool value) override |
| Logging can be disabled by passing a value of false. | |
| bool | isLogging () const override |
| returns the status of logging, True = enabled | |
| void | setLoggingOffset (const int value) override |
| gets the logging priority offset | |
| int | getLoggingOffset () const override |
| returns the logging priority offset | |
| void | setAlgStartupLogging (const bool enabled) override |
| disable Logging of start and end messages | |
| bool | getAlgStartupLogging () const override |
| get the state of Logging of start and end messages | |
| void | setChildStartProgress (const double startProgress) const override |
| setting the child start progress | |
| void | setChildEndProgress (const double endProgress) const override |
| setting the child end progress | |
| std::string | toString () const override |
| Serialize an object to a string. | |
| ::Json::Value | toJson () const override |
| Serialize an object to a json object. | |
| virtual std::shared_ptr< Algorithm > | createChildAlgorithm (const std::string &name, const double startProgress=-1., const double endProgress=-1., const bool enableLogging=true, const int &version=-1) |
| Create a Child Algorithm. | |
| void | setupAsChildAlgorithm (const Algorithm_sptr &algorithm, const double startProgress=-1., const double endProgress=-1., const bool enableLogging=true) |
| Setup algorithm as child algorithm. | |
| void | trackAlgorithmHistory (std::shared_ptr< AlgorithmHistory > parentHist) |
| set whether we wish to track the child algorithm's history and pass it the parent object to fill. | |
| void | findWorkspaces (WorkspaceVector &workspaces, unsigned int direction, bool checkADS=false) const |
| Populate lists of the workspace properties for a given direction (InOut workspaces are included in both input/output) | |
| virtual bool | checkGroups () |
| Check the input workspace properties for groups. | |
| virtual bool | processGroups () |
| Process WorkspaceGroup inputs. | |
| void | copyNonWorkspaceProperties (IAlgorithm *alg, int periodNum) |
| Copy all the non-workspace properties from this to alg. | |
| void | declareProperty (std::unique_ptr< Kernel::Property > p, const std::string &doc="") override |
| Add a property to the list of managed properties. | |
| void | declareOrReplaceProperty (std::unique_ptr< Kernel::Property > p, const std::string &doc="") override |
| Add or replace property in the list of managed properties. | |
| void | resetProperties () override |
| Reset property values back to initial values (blank or default values) | |
| void | setProperties (const std::string &propertiesJson, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false) override |
| Set the ordered list of properties by one string of values, separated by semicolons. | |
| void | setProperties (const ::Json::Value &jsonValue, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false) override |
| Sets all the declared properties from a json object. | |
| void | setPropertiesWithString (const std::string &propertiesString, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >()) override |
| Sets all the declared properties from a string. | |
| void | setPropertyValue (const std::string &name, const std::string &value) override |
| Set the value of a property by string N.B. | |
| void | setPropertyValueFromJson (const std::string &name, const Json::Value &value) override |
| Set the value of a property by Json::Value object. | |
| void | setPropertyOrdinal (const int &index, const std::string &value) override |
| Set the value of a property by an index N.B. | |
| virtual void | copyPropertiesFrom (const Algorithm &alg) |
| Make m_properties point to the same PropertyManager as alg.m_properties. | |
| bool | existsProperty (const std::string &name) const override |
| Checks whether the named property is already in the list of managed property. | |
| bool | validateProperties () const override |
| Validates all the properties in the collection. | |
| size_t | propertyCount () const override |
| Count the number of properties under management. | |
| std::string | getPropertyValue (const std::string &name) const override |
| Get the value of a property as a string. | |
| const std::vector< Kernel::Property * > & | getProperties () const override |
| Get the list of managed properties. | |
| std::vector< std::string > | getDeclaredPropertyNames () const noexcept override |
| Return the list of declared property names. | |
| TypedValue | getProperty (const std::string &name) const override |
| Get the value of a property. | |
| std::string | asString (bool withDefaultValues=false) const override |
| Return the property manager serialized as a string. | |
| ::Json::Value | asJson (bool withDefaultValues=false) const override |
| Return the property manager serialized as a json object. | |
| bool | isDefault (const std::string &name) const |
| void | removeProperty (const std::string &name, const bool delproperty=true) override |
| Removes the property from management. | |
| std::unique_ptr< Kernel::Property > | takeProperty (const size_t index) override |
| Removes the property from management and returns a pointer to it. | |
| void | clear () override |
| Clears all properties under management. | |
| void | afterPropertySet (const std::string &) override |
| Override this method to perform a custom action right after a property was set. | |
| Kernel::Property * | getPointerToProperty (const std::string &name) const override |
| Get a property by name. | |
| Kernel::Property * | getPointerToPropertyOrdinal (const int &index) const override |
| Get a property by an index. | |
| virtual void | declareProperty (std::unique_ptr< Property > p, const std::string &doc="")=0 |
| Function to declare properties (i.e. store them) | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc="", const unsigned int direction=Direction::Input) |
| Add a property of the template type to the list of managed properties. | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, const std::string &doc, const unsigned int direction=Direction::Input) |
| Add a property to the list of managed properties with no validator. | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, const unsigned int direction) |
| Add a property of the template type to the list of managed properties. | |
| void | declareProperty (const std::string &name, const char *value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc=std::string(), const unsigned int direction=Direction::Input) |
| Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). | |
| void | declareProperty (const std::string &name, const char *value, const std::string &doc, IValidator_sptr validator=std::make_shared< NullValidator >(), const unsigned int direction=Direction::Input) |
| Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). | |
| void | declareProperty (const std::string &name, const char *value, const unsigned int direction) |
| Add a property of string type to the list of managed properties. | |
| const std::string | category () const override |
| function to return a category of the algorithm. | |
| const std::vector< std::string > | categories () const override |
| Function to return all of the categories that contain this algorithm. | |
| const std::string | categorySeparator () const override |
| Function to return the separator token for the category string. | |
| const std::vector< std::string > | seeAlso () const override |
| Function to return all of the seeAlso (these are not validated) algorithms related to this algorithm.A default implementation is provided. | |
| const std::string | alias () const override |
| function to return any aliases to the algorithm; A default implementation is provided | |
| const std::string | aliasDeprecated () const override |
| Expiration date (in ISO8601 format) for the algorithm aliases; default implementation for no expiration date. | |
| const std::string | helpURL () const override |
| function to return URL for algorithm documentation; A default implementation is provided. | |
| template<typename T , typename = typename std::enable_if<std::is_convertible<T *, MatrixWorkspace *>::value>::type> | |
| std::tuple< std::shared_ptr< T >, Indexing::SpectrumIndexSet > | getWorkspaceAndIndices (const std::string &name) const |
| Mechanism for retriving the index property. | |
| template<typename T1 , typename T2 , typename = typename std::enable_if<std::is_convertible<T1 *, MatrixWorkspace *>::value>::type, typename = typename std::enable_if<std::is_convertible<T2 *, std::string *>::value || std::is_convertible<T2 *, std::vector<int64_t> *>::value>::type> | |
| void | setWorkspaceInputProperties (const std::string &name, const std::shared_ptr< T1 > &wksp, IndexType type, const T2 &list) |
| Mechanism for setting the index property with a workspace shared pointer. | |
| template<typename T1 , typename T2 , typename = typename std::enable_if<std::is_convertible<T1 *, MatrixWorkspace *>::value>::type, typename = typename std::enable_if<std::is_convertible<T2 *, std::string *>::value || std::is_convertible<T2 *, std::vector<int64_t> *>::value>::type> | |
| void | setWorkspaceInputProperties (const std::string &name, const std::string &wsName, IndexType type, const T2 &list) |
| Mechanism for setting the index property with a workspace shared pointer. | |
| const std::string | workspaceMethodName () const override |
| const std::vector< std::string > | workspaceMethodOn () const override |
| const std::string | workspaceMethodInputProperty () const override |
| AlgorithmID | getAlgorithmID () const override |
| Algorithm ID. | |
Algorithms As Methods | |
Public Member Functions inherited from Mantid::Kernel::IPropertyManager | |
| void | declareProperty (const std::string &name, const char *value, const std::string &doc, IValidator_sptr validator=std::make_shared< NullValidator >(), const unsigned int direction=Direction::Input) |
| Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). | |
| void | declareProperty (const std::string &name, const char *value, const unsigned int direction) |
| Add a property of string type to the list of managed properties. | |
| void | declareProperty (const std::string &name, const char *value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc=std::string(), const unsigned int direction=Direction::Input) |
| Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, const std::string &doc, const unsigned int direction=Direction::Input) |
| Add a property to the list of managed properties with no validator. | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, const unsigned int direction) |
| Add a property of the template type to the list of managed properties. | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc="", const unsigned int direction=Direction::Input) |
| Add a property of the template type to the list of managed properties. | |
| virtual void | filterByProperty (Mantid::Kernel::LogFilter *, const std::vector< std::string > &) |
| std::vector< Property * > | getPropertiesInGroup (const std::string &group) const |
| Get the list of managed properties in a given group. | |
| bool | isPropertyEnabled (const std::string &name) const |
| Test if a given property should be enabled. | |
| bool | isPropertyVisible (const std::string &name) const |
| Test if a given property should be visible. | |
| IPropertyManager * | setProperty (const std::string &name, const char *value) |
| Specialised version of setProperty template method to handle const char *. | |
| IPropertyManager * | setProperty (const std::string &name, const std::string &value) |
| Specialised version of setProperty template method to handle std::string. | |
| template<typename T > | |
| IPropertyManager * | setProperty (const std::string &name, const T &value) |
| Templated method to set the value of a PropertyWithValue. | |
| template<typename T > | |
| IPropertyManager * | setProperty (const std::string &name, std::unique_ptr< T > value) |
| Templated method to set the value of a PropertyWithValue from a std::unique_ptr. | |
| void | setPropertyGroup (const std::string &name, const std::string &group) |
| Set the group for a given property. | |
| void | setPropertySettings (const std::string &name, std::unique_ptr< IPropertySettings const > settings) |
| Add a PropertySettings instance to the chain of settings for a given property. | |
| void | updatePropertyValues (const IPropertyManager &other) |
| Update values of the existing properties. | |
| virtual | ~IPropertyManager ()=default |
Static Public Member Functions | |
| static bool | fitStatusIsConverged (const std::string &fitStatus, const bool strict) |
| Decide whether a Fit "OutputStatus" string should be treated as a converged fit. | |
Static Public Member Functions inherited from Mantid::API::Algorithm | |
| static IAlgorithm_sptr | fromString (const std::string &input) |
| De-serialize an object from a string. | |
| static IAlgorithm_sptr | fromJson (const Json::Value &input) |
| De-serialize an object from a Json. | |
| static IAlgorithm_sptr | fromHistory (const AlgorithmHistory &history) |
| Construct an object from a history entry. | |
Private Member Functions | |
| void | calculateFittedPeaks (const std::vector< std::shared_ptr< FitPeaksAlgorithm::PeakFitResult > > &fit_results) |
| calculate peak+background for fitted | |
| double | calculateSignalToNoiseRatio (size_t iws, const std::pair< double, double > &range, const API::IBackgroundFunction_sptr &bkgd_function) |
| calculate signal-to-noise ratio in histogram range | |
| double | calculateSignalToSigmaRatio (const size_t &iws, const std::pair< double, double > &peakWindow, const API::IPeakFunction_sptr &peakFunction) |
| void | checkPeakIndices (std::size_t const &, std::size_t const &) |
| void | checkPeakWindowEdgeOrder (double const &, double const &) |
| void | checkWorkspaceIndices (std::size_t const &) |
| Get the expected peak's position. | |
| void | convertParametersNameToIndex () |
| Convert peak function's parameter names to parameter index for fast access. | |
| API::IAlgorithm_sptr | createChildFit () |
| Create a Fit child algorithm, with a check that the CurveFitting library is available. | |
| API::MatrixWorkspace_sptr | createMatrixWorkspace (const std::vector< double > &vec_x, const std::vector< double > &vec_y, const std::vector< double > &vec_e) |
| Create a single spectrum workspace for fitting. | |
| bool | decideToEstimatePeakParams (const bool firstPeakInSpectrum, const size_t wsindex, const API::IPeakFunction_sptr &peak_function) |
| Decide whether to estimate peak parameters. | |
| void | exec () override |
| Main exec method. | |
| bool | fitBackground (const size_t &ws_index, const std::pair< double, double > &fit_window, const double &expected_peak_pos, const API::IBackgroundFunction_sptr &bkgd_func) |
| fit background | |
| double | fitFunctionHighBackground (const API::IAlgorithm_sptr &fit, const std::pair< double, double > &fit_window, const size_t &ws_index, const double &expected_peak_center, const double peak_pos_tolerance, bool observe_peak_shape, const API::IPeakFunction_sptr &peakfunction, const API::IBackgroundFunction_sptr &bkgdfunc) |
| fit a single peak with high background | |
| double | fitFunctionMD (API::IFunction_sptr fit_function, const API::MatrixWorkspace_sptr &dataws, const size_t wsindex, const std::pair< double, double > &vec_xmin, const std::pair< double, double > &vec_xmax) |
| double | fitFunctionSD (const API::IAlgorithm_sptr &fit, const API::IPeakFunction_sptr &peak_function, const API::IBackgroundFunction_sptr &bkgd_function, const API::MatrixWorkspace_sptr &dataws, size_t wsindex, const std::pair< double, double > &peak_range, const double &expected_peak_center, const double peak_pos_tolerance, bool estimate_peak_width, bool estimate_background) |
| Methods to fit functions (general) | |
| double | fitIndividualPeak (size_t wi, const API::IAlgorithm_sptr &fitter, const double expected_peak_center, const double peak_pos_tolerance, const std::pair< double, double > &fitwindow, const bool estimate_peak_width, const API::IPeakFunction_sptr &peakfunction, const API::IBackgroundFunction_sptr &bkgdfunc, const std::shared_ptr< FitPeaksAlgorithm::PeakFitPreCheckResult > &pre_check_result) |
| Fit an individual peak. | |
| std::vector< std::shared_ptr< FitPeaksAlgorithm::PeakFitResult > > | fitPeaks () |
| suites of method to fit peaks | |
| void | fitSpectrumPeaks (size_t wi, const std::vector< double > &expected_peak_centers, const std::shared_ptr< FitPeaksAlgorithm::PeakFitResult > &fit_result, std::vector< std::vector< double > > &lastGoodPeakParameters, std::vector< size_t > &lastGoodPeakSpectra, const std::shared_ptr< FitPeaksAlgorithm::PeakFitPreCheckResult > &pre_check_result) |
| fit peaks in a same spectrum | |
| void | generateCalculatedPeaksWS () |
| Generate workspace for calculated values. | |
| void | generateFittedParametersValueWorkspaces () |
| Generate output workspaces. | |
| void | generateOutputPeakPositionWS () |
| main method to create output workspaces | |
| std::string | getPeakHeightParameterName (const API::IPeakFunction_const_sptr &peak_function) |
| Get the parameter name for peak height (I or height or etc) | |
| void | getRangeData (size_t iws, const std::pair< double, double > &range, std::vector< double > &vec_x, std::vector< double > &vec_y, std::vector< double > &vec_e) |
| get vector X, Y and E in a given range | |
| size_t | histRangeToDataPointCount (size_t iws, const std::pair< double, double > &range) |
| convert a histogram range to index boundaries | |
| void | histRangeToIndexBounds (size_t iws, const std::pair< double, double > &range, size_t &left_index, size_t &right_index) |
| convert a histogram range to index boundaries | |
| void | init () override |
| Init. | |
| bool | isObservablePeakProfile (const std::string &peakprofile) |
| check whether FitPeaks supports observation on a certain peak profile's parameters (width!) | |
| void | logNoOffset (const size_t &priority, const std::string &msg) |
| double | numberCounts (size_t iws) |
| sum up all counts in histogram | |
| double | numberCounts (size_t iws, const std::pair< double, double > &range) |
| sum up all counts in histogram range | |
| void | processInputFitRanges () |
| process inputs for peak fitting range | |
| void | processInputFunctions () |
| process inputs for peak and background functions | |
| void | processInputPeakCenters () |
| peak centers | |
| void | processInputPeakTolerance () |
| process inputs about fitted peak positions' tolerance | |
| void | processInputs () |
| process inputs (main and child algorithms) | |
| void | processOutputs (std::vector< std::shared_ptr< FitPeaksAlgorithm::PeakFitResult > > fit_result_vec) |
| Set the workspaces and etc to output properties. | |
| bool | processSinglePeakFitResult (size_t wsindex, size_t peakindex, const double cost, const std::vector< double > &expected_peak_positions, const FitPeaksAlgorithm::FitFunction &fitfunction, const std::shared_ptr< FitPeaksAlgorithm::PeakFitResult > &fit_result) |
| Process the result from fitting a single peak. | |
| void | recalculateErrorsWithoutConstraint (const API::IPeakFunction_sptr &peak_function, const API::IBackgroundFunction_sptr &bkgd_function, const API::MatrixWorkspace_sptr &dataws, size_t wsindex, const std::pair< double, double > &peak_range) |
| Re-evaluate parameter fitting errors free of any peak-position boundary constraint penalty, so a constrained centre still reports a genuine covariance error rather than the spuriously small one produced when the penalty curvature is folded into the Hessian that CalcErrors inverts. | |
| void | setupParameterTableWorkspace (const API::ITableWorkspace_sptr &table_ws, const std::vector< std::string > ¶m_names, bool with_chi2) |
| Set up parameter table (parameter value or error) | |
| void | writeFitResult (size_t wi, const std::vector< double > &expected_positions, const std::shared_ptr< FitPeaksAlgorithm::PeakFitResult > &fit_result) |
| Write result of peak fit per spectrum to output analysis workspaces. | |
Private Attributes | |
| API::IBackgroundFunction_sptr | m_bkgdFunction |
| Background function. | |
| bool | m_calculateUnconstrainedErrors {false} |
| when true, and a peak-position constraint was applied (ConstrainPeakPositions or PositionToleranceMode=Constrain), the reported parameter errors are recomputed from the unconstrained cost function so the constraint penalty does not distort them | |
| bool | m_constrainByPositionTolerance {false} |
| when true, PositionTolerance is applied as an active constraint on the peak centre during fitting (bounded by expected_centre +/- tolerance) instead of only being checked after the fit | |
| bool | m_constrainPeaksPosition |
| bool | m_copyLastGoodPeakParameters |
| std::string | m_costFunction |
| Cost function. | |
| API::ITableWorkspace_sptr | m_fitErrorTable |
| table workspace for fitted parameters' fitting error. This is optional | |
| int | m_fitIterations |
| Fit iterations. | |
| bool | m_fitPeaksFromRight |
| Fit from right or left. | |
| API::ITableWorkspace_sptr | m_fittedParamTable |
| output analysis workspaces table workspace for fitted parameters | |
| API::MatrixWorkspace_sptr | m_fittedPeakWS |
| matrix workspace contained calcalated peaks+background from fitted result it has same number of spectra of input workspace even if only part of spectra to have peaks to fit | |
| bool | m_fractionalPositionTolerance {false} |
| when true, each PositionTolerance value is interpreted as a fraction of this peak's (per-spectrum) fit window width rather than an absolute value, so the effective tolerance is tolerance*(window_max - window_min). | |
| std::function< std::vector< double >(std::size_t const &)> | m_getExpectedPeakPositions |
| std::function< std::pair< double, double >(std::size_t const &, std::size_t const &)> | m_getPeakFitWindow |
| bool | m_highBackground |
| flag for high background | |
| std::vector< size_t > | m_initParamIndexes |
| input starting parameters' indexes in peak function | |
| std::vector< double > | m_initParamValues |
| input peak parameters' starting values corresponding to above peak parameter names | |
| DataObjects::EventWorkspace_const_sptr | m_inputEventWS |
| event workspace for input | |
| bool | m_inputIsDSpace |
| API::MatrixWorkspace_sptr | m_inputMatrixWS |
| mandatory input and output workspaces | |
| API::IBackgroundFunction_sptr | m_linearBackgroundFunction |
| Linear background function for high background fitting. | |
| std::string | m_minimizer |
| Minimzer. | |
| double | m_minPeakHeight |
| minimum peak height without background and it also serves as the criteria for observed peak parameter | |
| double | m_minPeakTotalCount |
| double | m_minSignalToNoiseRatio |
| double | m_minSignalToSigmaRatio |
| std::size_t | m_numPeaksToFit |
| the number of peaks to fit in all spectra | |
| std::size_t | m_numSpectraToFit |
| total number of spectra to be fit | |
| API::MatrixWorkspace_sptr | m_outputPeakPositionWorkspace |
| output workspace for peak positions | |
| std::vector< double > | m_peakCenters |
| Designed peak positions and tolerance. | |
| API::MatrixWorkspace_const_sptr | m_peakCenterWorkspace |
| API::IPeakFunction_sptr | m_peakFunction |
| Peak profile name. | |
| std::vector< std::string > | m_peakParamNames |
| input peak parameters' names | |
| bool | m_peakPosTolCase234 |
| peak positon tolerance case b, c and d | |
| std::vector< double > | m_peakPosTolerances |
| tolerances for fitting peak positions | |
| Algorithms::PeakParameterHelper::EstimatePeakWidth | m_peakWidthEstimateApproach |
| Flag for observing peak width: there are 3 states (1) no estimation (2) from 'observation' (3) calculated from instrument resolution. | |
| double | m_peakWidthPercentage |
| flag to estimate peak width from | |
| std::vector< std::vector< double > > | m_peakWindowVector |
| peak windows | |
| API::MatrixWorkspace_const_sptr | m_peakWindowWorkspace |
| API::ITableWorkspace_const_sptr | m_profileStartingValueTable |
| table workspace for profile parameters' starting value | |
| bool | m_rawPeaksTable |
| flag to show that the pamarameters in table are raw parameters or effective parameters | |
| bool | m_respectFixedPeakParameters |
| std::size_t | m_startWorkspaceIndex |
| start index | |
| std::size_t | m_stopWorkspaceIndex |
| stop index (workspace index of the last spectrum included) | |
| bool | m_strictConvergence {true} |
| Require an exact 'success' status to accept a fit, rather than also accepting the "changes too small" convergence statuses. | |
| bool | m_uniformPeakPositions |
| bool | m_uniformProfileStartingValue |
| flag for profile startng value being uniform or not | |
Additional Inherited Members | |
Public Types inherited from Mantid::API::Algorithm | |
| using | WorkspaceVector = std::vector< std::shared_ptr< Workspace > > |
Public Attributes inherited from Mantid::API::Algorithm | |
| bool | calledByAlias = false |
| Flag to indicate if the algorithm is called by its alias. | |
Protected Member Functions inherited from Mantid::API::Algorithm | |
| virtual const std::string | workspaceMethodOnTypes () const |
| Returns a semi-colon separated list of workspace types to attach this algorithm. | |
| void | cacheWorkspaceProperties () |
| Go through the properties and cache the input/output workspace properties for later use. | |
| void | cacheInputWorkspaceHistories () |
| Cache the histories of any input workspaces so they can be copied over after algorithm completion. | |
| void | setExecutionState (const ExecutionState state) |
| Sets the current execution state. | |
| void | setResultState (const ResultState state) |
| Sets the result execution state. | |
| void | store () |
| Stores any output workspaces into the AnalysisDataService. | |
| void | progress (double p, const std::string &msg="", double estimatedTime=0.0, int progressPrecision=0) |
| Sends ProgressNotification. | |
| void | interruption_point () |
| This is called during long-running operations, and check if the algorithm has requested that it be cancelled. | |
| Poco::NotificationCenter & | notificationCenter () const |
| Return a reference to the algorithm's notification dispatcher. | |
| void | handleChildProgressNotification (const Poco::AutoPtr< ProgressNotification > &pNf) |
| Observation slot for child algorithm progress notification messages, these are scaled and then signalled for this algorithm. | |
| const Poco::AbstractObserver & | progressObserver () const |
| Return a reference to the algorithm's object that is reporting progress. | |
| bool | isWorkspaceProperty (const Kernel::Property *const prop) const |
| checks the property is a workspace property | |
| bool | trackingHistory () |
| get whether we are tracking the history for this algorithm, | |
| virtual void | fillHistory () |
| Copy workspace history from input workspaces to output workspaces and record the history for ths algorithm. | |
| void | fillHistory (const std::vector< Workspace_sptr > &outputWorkspaces) |
| Copy workspace history from input workspaces to provided vector of output workspaces. | |
| virtual void | setOtherProperties (IAlgorithm *alg, const std::string &propertyName, const std::string &propertyValue, int periodNum) |
| Virtual method to set the non workspace properties for this algorithm. | |
| template<typename T , const int AllowedIndexTypes = static_cast<int>(IndexType::WorkspaceIndex), typename... WSPropArgs, typename = typename std::enable_if<std::is_convertible<T *, MatrixWorkspace *>::value>::type> | |
| void | declareWorkspaceInputProperties (const std::string &propertyName, const std::string &doc, WSPropArgs &&...wsPropArgs) |
| Declare a property which defines the workspace and allowed index types, as well as a property for capturing the indices all at once. | |
Protected Member Functions inherited from Mantid::Kernel::IPropertyManager | |
| template<typename T > | |
| T | getValue (const std::string &name) const |
| Templated method to get the value of a property. | |
| template<> | |
| MANTID_KERNEL_DLL PropertyManager_sptr | getValue (const std::string &name) const |
| template<> | |
| MANTID_KERNEL_DLL PropertyManager_const_sptr | getValue (const std::string &name) const |
Static Protected Member Functions inherited from Mantid::API::Algorithm | |
| template<typename NumT > | |
| static bool | isEmpty (const NumT toCheck) |
| checks that the value was not set by users, uses the value in empty double/int. | |
Protected Attributes inherited from Mantid::API::Algorithm | |
| std::atomic< bool > | m_cancel |
| Set to true to stop execution. | |
| std::atomic< bool > | m_parallelException |
| Set if an exception is thrown, and not caught, within a parallel region. | |
| std::vector< IWorkspaceProperty * > | m_inputWorkspaceProps |
| All the WorkspaceProperties that are Input or InOut. Set in execute() | |
| std::shared_ptr< AlgorithmHistory > | m_history |
| Pointer to the history for the algorithm being executed. | |
| Kernel::Logger | m_log |
| Logger for this algorithm. | |
| Kernel::Logger & | g_log |
| std::shared_ptr< AlgorithmHistory > | m_parentHistory |
| Pointer to the parent history object (if set) | |
| std::vector< WorkspaceVector > | m_unrolledInputWorkspaces |
| One vector of workspaces for each input workspace property. | |
| size_t | m_groupSize |
| Size of the group(s) being processed. | |
| bool | m_usingBaseProcessGroups = false |
| distinguish between base processGroups() and overriden/algorithm specific versions | |
| bool | m_recordHistoryForProcessGroups = false |
| Opt-in for overridden processGroups() implementations that want the parent algorithm history recorded on group outputs. | |
Static Protected Attributes inherited from Mantid::API::Algorithm | |
| static size_t | g_execCount = 0 |
| Counter to keep track of algorithm execution order. | |
Definition at line 101 of file FitPeaks.h.
| Mantid::Algorithms::FitPeaks::FitPeaks | ( | ) |
Definition at line 271 of file FitPeaks.cpp.
|
private |
calculate peak+background for fitted
calculate fitted peaks with background in the output workspace The current version gets the peak parameters and background parameters from fitted parameter table
Definition at line 1613 of file FitPeaks.cpp.
References Mantid::API::FunctionValues::getCalculated(), istart, m_bkgdFunction, m_fittedParamTable, m_fittedPeakWS, m_getPeakFitWindow, m_inputMatrixWS, m_numPeaksToFit, m_numSpectraToFit, m_peakFunction, m_startWorkspaceIndex, m_stopWorkspaceIndex, PARALLEL_CHECK_INTERRUPT_REGION, PARALLEL_END_INTERRUPT_REGION, PARALLEL_FOR_IF, PARALLEL_START_INTERRUPT_REGION, and Mantid::Kernel::threadSafe().
Referenced by processOutputs().
|
private |
calculate signal-to-noise ratio in histogram range
Calculate signal-to-noise ratio in a histogram range.
| iws | :: histogram index in workspace |
| range | :: histogram range |
| bkgd_function | :: background function pointer |
Definition at line 2414 of file FitPeaks.cpp.
References getRangeData(), histRangeToIndexBounds(), and m_inputMatrixWS.
Referenced by fitIndividualPeak().
|
private |
Definition at line 1698 of file FitPeaks.cpp.
References m_inputMatrixWS, sigma, and Mantid::API::FunctionValues::toVector().
Referenced by fitSpectrumPeaks().
|
inlineoverridevirtual |
Algorithm's category for identification.
Implements Mantid::API::IAlgorithm.
Definition at line 115 of file FitPeaks.h.
|
private |
Definition at line 2462 of file FitPeaks.cpp.
References m_getExpectedPeakPositions, and m_numPeaksToFit.
Referenced by processInputFitRanges().
|
private |
Definition at line 2471 of file FitPeaks.cpp.
Referenced by processInputFitRanges().
|
private |
Get the expected peak's position.
Definition at line 2453 of file FitPeaks.cpp.
References m_startWorkspaceIndex, and m_stopWorkspaceIndex.
Referenced by processInputFitRanges(), and processInputPeakCenters().
|
private |
Convert peak function's parameter names to parameter index for fast access.
Convert the input initial parameter name/value to parameter index/value for faster access according to the parameter name and peak profile function Output: m_initParamIndexes will be set up.
Definition at line 1031 of file FitPeaks.cpp.
References Mantid::API::Algorithm::g_log, m_initParamIndexes, m_peakFunction, m_peakParamNames, m_profileStartingValueTable, and Mantid::Kernel::Logger::warning().
Referenced by processInputFunctions().
|
private |
Create a Fit child algorithm, with a check that the CurveFitting library is available.
Definition at line 2484 of file FitPeaks.cpp.
References Mantid::API::Algorithm::createChildAlgorithm(), Mantid::Kernel::Logger::error(), and Mantid::API::Algorithm::g_log.
Referenced by fitFunctionMD(), fitSpectrumPeaks(), and recalculateErrorsWithoutConstraint().
|
private |
Create a single spectrum workspace for fitting.
Definition at line 2152 of file FitPeaks.cpp.
Referenced by fitFunctionHighBackground().
|
private |
Decide whether to estimate peak parameters.
If not, then set the peak parameters from user specified starting value
| firstPeakInSpectrum | :: flag whether the given peak is the first peak in the spectrum |
| wsindex | :: workspace index of the spectrum being fitted, used to pick the matching row when starting values are supplied per-spectrum via PeakParameterValueTable |
| peak_function | :: peak function to set parameter values to |
Definition at line 1439 of file FitPeaks.cpp.
References m_initParamIndexes, m_initParamValues, and m_profileStartingValueTable.
Referenced by fitSpectrumPeaks().
|
overrideprivatevirtual |
Main exec method.
Implements Mantid::API::Algorithm.
Definition at line 609 of file FitPeaks.cpp.
References fitPeaks(), generateCalculatedPeaksWS(), generateFittedParametersValueWorkspaces(), generateOutputPeakPositionWS(), processInputs(), and processOutputs().
|
private |
fit background
Fit background function.
Definition at line 1778 of file FitPeaks.cpp.
References Mantid::Kernel::Logger::debug(), Mantid::Algorithms::PeakParameterHelper::findXIndex(), fitFunctionMD(), Mantid::API::Algorithm::g_log, m_inputMatrixWS, and n.
Referenced by fitFunctionHighBackground().
|
private |
fit a single peak with high background
Fit peak with high background.
Definition at line 2107 of file FitPeaks.cpp.
References createMatrixWorkspace(), fitBackground(), fitFunctionSD(), getRangeData(), m_inputMatrixWS, m_linearBackgroundFunction, and n.
Referenced by fitIndividualPeak().
|
private |
Definition at line 2054 of file FitPeaks.cpp.
References createChildFit(), fitStatusIsConverged(), m_costFunction, m_fitIterations, m_minimizer, and m_strictConvergence.
Referenced by fitBackground().
|
private |
Methods to fit functions (general)
Fit function in single domain (mostly applied for fitting peak + background) with estimating peak parameters This is the core fitting algorithm to deal with the simplest situation.
| : | Fit.isExecuted is false (cannot be executed) |
Definition at line 1884 of file FitPeaks.cpp.
References Mantid::Kernel::Logger::debug(), Mantid::Algorithms::PeakParameterHelper::estimatePeakParameters(), Mantid::Algorithms::PeakParameterHelper::findXIndex(), fitStatusIsConverged(), Mantid::API::Algorithm::g_log, Mantid::Algorithms::PeakParameterHelper::GOOD, Mantid::Algorithms::PeakParameterHelper::LOWPEAK, m_calculateUnconstrainedErrors, m_constrainByPositionTolerance, m_constrainPeaksPosition, m_fitIterations, m_minPeakHeight, m_peakWidthEstimateApproach, m_peakWidthPercentage, m_strictConvergence, Mantid::Algorithms::PeakParameterHelper::NOSIGNAL, recalculateErrorsWithoutConstraint(), and Mantid::Kernel::Logger::warning().
Referenced by fitFunctionHighBackground(), and fitIndividualPeak().
|
private |
Fit an individual peak.
Definition at line 1823 of file FitPeaks.cpp.
References calculateSignalToNoiseRatio(), fitFunctionHighBackground(), fitFunctionSD(), histRangeToDataPointCount(), m_highBackground, m_inputMatrixWS, m_minPeakTotalCount, m_minSignalToNoiseRatio, and numberCounts().
Referenced by fitSpectrumPeaks().
|
private |
suites of method to fit peaks
main method to fit peaks among all
Vector to record all the FitResult (only containing specified number of spectra. shift is expected)
Definition at line 1063 of file FitPeaks.cpp.
References fitSpectrumPeaks(), logNoOffset(), m_bkgdFunction, m_getExpectedPeakPositions, m_numPeaksToFit, m_numSpectraToFit, m_peakFunction, m_startWorkspaceIndex, m_stopWorkspaceIndex, PARALLEL_CHECK_INTERRUPT_REGION, PARALLEL_CRITICAL, PARALLEL_END_INTERRUPT_REGION, PARALLEL_START_INTERRUPT_REGION, PRAGMA_OMP, Mantid::Kernel::ProgressBase::report(), and writeFitResult().
Referenced by exec().
|
private |
fit peaks in a same spectrum
Fit peaks across one single spectrum.
Definition at line 1226 of file FitPeaks.cpp.
References Mantid::Algorithms::FitPeaksAlgorithm::FitFunction::bkgdfunction, calculateSignalToSigmaRatio(), createChildFit(), decideToEstimatePeakParams(), fitIndividualPeak(), Mantid::API::Algorithm::g_log, m_bkgdFunction, m_constrainByPositionTolerance, m_copyLastGoodPeakParameters, m_costFunction, m_fitPeaksFromRight, m_fractionalPositionTolerance, m_getPeakFitWindow, m_inputMatrixWS, m_minimizer, m_minPeakTotalCount, m_minSignalToSigmaRatio, m_numPeaksToFit, m_peakFunction, m_peakPosTolCase234, m_peakPosTolerances, m_peakWidthEstimateApproach, m_respectFixedPeakParameters, numberCounts(), Mantid::Algorithms::FitPeaksAlgorithm::FitFunction::peakfunction, processSinglePeakFitResult(), value, and Mantid::Kernel::Logger::warning().
Referenced by fitPeaks().
|
static |
Decide whether a Fit "OutputStatus" string should be treated as a converged fit.
In strict mode only the exact status "success" is accepted. In non-strict mode the GSL tolerance-limited stopping conditions are also treated as converged.
Definition at line 1869 of file FitPeaks.cpp.
References Mantid::API::MinimizerStatus::CHANGES_IN_FUNCTION_TOO_SMALL, Mantid::API::MinimizerStatus::CHANGES_IN_PARAMETER_TOO_SMALL, and Mantid::API::MinimizerStatus::SUCCESS.
Referenced by fitFunctionMD(), and fitFunctionSD().
|
private |
Generate workspace for calculated values.
Generate the output MatrixWorkspace for calculated peaks (as an option)
FitPeaks::generateCalculatedPeaksWS
Definition at line 2274 of file FitPeaks.cpp.
References Mantid::API::Algorithm::getPropertyValue(), m_fittedPeakWS, and m_inputMatrixWS.
Referenced by exec().
|
private |
Generate output workspaces.
Generate table workspace for fitted parameters' value and optionally the table workspace for those parameters' fitting error.
FitPeaks::generateFittedParametersValueWorkspace
Definition at line 2232 of file FitPeaks.cpp.
References Mantid::API::Algorithm::getProperty(), Mantid::API::Algorithm::getPropertyValue(), m_bkgdFunction, m_fitErrorTable, m_fittedParamTable, m_peakFunction, m_rawPeaksTable, and setupParameterTableWorkspace().
Referenced by exec().
|
private |
main method to create output workspaces
generate output workspace for peak positions
Definition at line 2176 of file FitPeaks.cpp.
References m_getExpectedPeakPositions, m_numPeaksToFit, m_numSpectraToFit, m_outputPeakPositionWorkspace, and m_startWorkspaceIndex.
Referenced by exec().
|
private |
Get the parameter name for peak height (I or height or etc)
Definition at line 2609 of file FitPeaks.cpp.
|
private |
get vector X, Y and E in a given range
| iws | :: histogram index in workspace |
| range | :: histogram range |
| vec_x | :: (output) vector of X-values |
| vec_y | :: (output) vector of Y-values |
| vec_e | :: (output) vector of E-values |
Definition at line 2383 of file FitPeaks.cpp.
References histRangeToIndexBounds(), and m_inputMatrixWS.
Referenced by calculateSignalToNoiseRatio(), fitFunctionHighBackground(), and numberCounts().
|
private |
convert a histogram range to index boundaries
Calculate number of data points in a histogram range.
calculate how many data points are in a histogram range
| iws | :: histogram index in workspace |
| range | :: histogram range |
Definition at line 2341 of file FitPeaks.cpp.
References histRangeToIndexBounds(), and m_inputMatrixWS.
Referenced by fitIndividualPeak().
|
private |
convert a histogram range to index boundaries
Convert a histogram range to vector index boundaries.
| iws | :: histogram index in workspace |
| range | :: histogram range |
| left_index | :: (output) left index boundary |
| right_index | :: (output) right index boundary |
Definition at line 2358 of file FitPeaks.cpp.
References m_inputMatrixWS.
Referenced by calculateSignalToNoiseRatio(), getRangeData(), and histRangeToDataPointCount().
|
overrideprivatevirtual |
Init.
initialize the properties
Implements Mantid::API::Algorithm.
Definition at line 278 of file FitPeaks.cpp.
References Mantid::API::Algorithm::declareProperty(), Mantid::EMPTY_DBL(), Mantid::EMPTY_INT(), Mantid::Kernel::Direction::Input, Mantid::PropertyNames::INPUT_WKSP(), Mantid::API::PropertyMode::Optional, Mantid::Kernel::Direction::Output, Mantid::PropertyNames::OUTPUT_WKSP(), and Mantid::Kernel::IPropertyManager::setPropertyGroup().
|
private |
check whether FitPeaks supports observation on a certain peak profile's parameters (width!)
check whether a peak profile is allowed to observe peak width and set width
isObservablePeakProfile
| peakprofile | : name of peak profile to check against |
Definition at line 1770 of file FitPeaks.cpp.
Referenced by processInputs().
|
private |
Definition at line 2634 of file FitPeaks.cpp.
References Mantid::API::Algorithm::g_log, Mantid::Kernel::Logger::notice(), and Mantid::Kernel::Logger::warning().
Referenced by fitPeaks(), and processInputs().
|
inlineoverridevirtual |
|
private |
sum up all counts in histogram
Sum up all counts in a histogram.
| iws | :: histogram index in workspace |
Definition at line 2313 of file FitPeaks.cpp.
References m_inputMatrixWS.
Referenced by fitIndividualPeak(), and fitSpectrumPeaks().
|
private |
sum up all counts in histogram range
Sum up all counts in a histogram range.
| iws | :: histogram index in workspace |
| range | :: histogram range |
Definition at line 2326 of file FitPeaks.cpp.
References getRangeData().
|
private |
process inputs for peak fitting range
process and check for inputs about peak fitting range (i.e., window) Note: What is the output of the method?
Definition at line 773 of file FitPeaks.cpp.
References checkPeakIndices(), checkPeakWindowEdgeOrder(), checkWorkspaceIndices(), Mantid::API::Algorithm::getProperty(), Mantid::API::Algorithm::getPropertyValue(), left, m_getExpectedPeakPositions, m_getPeakFitWindow, m_inputIsDSpace, m_numPeaksToFit, m_peakCenters, m_peakCenterWorkspace, m_peakWidthPercentage, m_peakWindowVector, m_peakWindowWorkspace, m_startWorkspaceIndex, m_stopWorkspaceIndex, m_uniformPeakPositions, and right.
Referenced by processInputs().
|
private |
process inputs for peak and background functions
process inputs for peak profile and background
Definition at line 716 of file FitPeaks.cpp.
References convertParametersNameToIndex(), Mantid::API::Algorithm::g_log, Mantid::API::Algorithm::getProperty(), Mantid::API::Algorithm::getPropertyValue(), m_bkgdFunction, m_highBackground, m_initParamValues, m_linearBackgroundFunction, m_peakFunction, m_peakParamNames, m_profileStartingValueTable, m_uniformProfileStartingValue, and Mantid::Kernel::Logger::warning().
Referenced by processInputs().
|
private |
peak centers
Processing peaks centers and fitting tolerance information from input.
the parameters that are set including
Definition at line 912 of file FitPeaks.cpp.
References checkWorkspaceIndices(), Mantid::Kernel::Logger::debug(), Mantid::Kernel::Logger::error(), Mantid::API::Algorithm::g_log, Mantid::API::Algorithm::getProperty(), Mantid::API::Algorithm::getPropertyValue(), m_getExpectedPeakPositions, m_numPeaksToFit, m_peakCenters, m_peakCenterWorkspace, m_startWorkspaceIndex, m_stopWorkspaceIndex, m_uniformPeakPositions, and Mantid::Kernel::Logger::notice().
Referenced by processInputs().
|
private |
process inputs about fitted peak positions' tolerance
Processing peak fitting tolerance information from input.
The parameters that are set including
Definition at line 973 of file FitPeaks.cpp.
References Mantid::Kernel::Logger::error(), Mantid::API::Algorithm::g_log, Mantid::API::Algorithm::getProperty(), Mantid::API::Algorithm::isEmpty(), m_minPeakHeight, m_minPeakTotalCount, m_minSignalToNoiseRatio, m_minSignalToSigmaRatio, m_numPeaksToFit, m_peakPosTolCase234, and m_peakPosTolerances.
Referenced by processInputs().
|
private |
process inputs (main and child algorithms)
Definition at line 630 of file FitPeaks.cpp.
References Mantid::Kernel::Logger::debug(), Mantid::API::Algorithm::g_log, Mantid::API::Algorithm::getProperty(), Mantid::API::Algorithm::getPropertyValue(), Mantid::PropertyNames::INPUT_WKSP(), Mantid::API::Algorithm::isEmpty(), isObservablePeakProfile(), logNoOffset(), m_bkgdFunction, m_calculateUnconstrainedErrors, m_constrainByPositionTolerance, m_constrainPeaksPosition, m_copyLastGoodPeakParameters, m_costFunction, m_fitIterations, m_fitPeaksFromRight, m_fractionalPositionTolerance, m_highBackground, m_inputIsDSpace, m_inputMatrixWS, m_minimizer, m_numPeaksToFit, m_numSpectraToFit, m_peakFunction, m_peakWidthEstimateApproach, m_peakWidthPercentage, m_respectFixedPeakParameters, m_startWorkspaceIndex, m_stopWorkspaceIndex, m_strictConvergence, processInputFitRanges(), processInputFunctions(), processInputPeakCenters(), and processInputPeakTolerance().
Referenced by exec().
|
private |
Set the workspaces and etc to output properties.
set up output workspaces
Definition at line 2289 of file FitPeaks.cpp.
References calculateFittedPeaks(), Mantid::Kernel::Logger::debug(), Mantid::API::Algorithm::g_log, m_fitErrorTable, m_fittedParamTable, m_fittedPeakWS, m_outputPeakPositionWorkspace, Mantid::PropertyNames::OUTPUT_WKSP(), Mantid::Kernel::IPropertyManager::setProperty(), and Mantid::Kernel::Logger::warning().
Referenced by exec().
|
private |
Process the result from fitting a single peak.
retrieve the fitted peak information from functions and set to output vectors
| wsindex | :: workspace index |
| peakindex | :: index of peak in given peak position vector |
| cost | :: cost function value (i.e., chi^2) |
| expected_peak_positions | :: vector of the expected peak positions |
| fitfunction | :: pointer to function to retrieve information from |
| fit_result | :: (output) PeakFitResult instance to set the fitting result to |
Definition at line 1494 of file FitPeaks.cpp.
References Mantid::Kernel::Logger::debug(), fabs, Mantid::API::Algorithm::g_log, m_fractionalPositionTolerance, m_getPeakFitWindow, m_inputMatrixWS, m_minPeakHeight, m_numPeaksToFit, m_peakPosTolCase234, m_peakPosTolerances, and Mantid::Algorithms::FitPeaksAlgorithm::FitFunction::peakfunction.
Referenced by fitSpectrumPeaks().
|
private |
Re-evaluate parameter fitting errors free of any peak-position boundary constraint penalty, so a constrained centre still reports a genuine covariance error rather than the spuriously small one produced when the penalty curvature is folded into the Hessian that CalcErrors inverts.
Recompute the fitting errors of an already-fitted peak+background without any peak-position boundary constraint.
Boundary constraint are implemented as a penalty term so the second derivative of the penalty is folded into the Hessian that CalcErrors inverts. So a parameter near the boundary is reported with a greatly reduced position error that reflects the size of the constraint as well as the data.
Re-running Fit at the converged parameters with zero iterations and no constraint evaluates the covariance of the unpenalized cost function, i.e. the error from the data alone
Definition at line 2009 of file FitPeaks.cpp.
References createChildFit(), Mantid::Kernel::Logger::debug(), Mantid::API::Algorithm::g_log, m_costFunction, and m_minimizer.
Referenced by fitFunctionSD().
|
private |
Set up parameter table (parameter value or error)
FitPeaks::generateParameterTable
| table_ws,: | an empty workspace |
| param_names | |
| with_chi2,: | flag to append chi^2 to the table |
Definition at line 2200 of file FitPeaks.cpp.
References m_fittedParamTable, m_numPeaksToFit, m_startWorkspaceIndex, and m_stopWorkspaceIndex.
Referenced by generateFittedParametersValueWorkspaces().
|
inlineoverridevirtual |
Summary of algorithms purpose.
Implements Mantid::API::Algorithm.
Definition at line 109 of file FitPeaks.h.
|
overridevirtual |
Validate inputs.
Implements Mantid::API::IAlgorithm.
Definition at line 503 of file FitPeaks.cpp.
References Mantid::API::Algorithm::getProperty(), Mantid::API::Algorithm::getPropertyValue(), Mantid::API::Algorithm::isDefault(), m_peakFunction, and m_profileStartingValueTable.
|
inlineoverridevirtual |
|
private |
Write result of peak fit per spectrum to output analysis workspaces.
Write result of peak fit per spectrum to output analysis workspaces including (1) output peak position workspace (2) parameter table workspace and optionally (3) fitting error/uncertainty workspace.
| wi | |
| expected_positions | :: vector for expected peak positions |
| fit_result | :: PeakFitResult instance |
Definition at line 2504 of file FitPeaks.cpp.
References Mantid::Kernel::Logger::error(), Mantid::API::Algorithm::g_log, m_bkgdFunction, m_fitErrorTable, m_fittedParamTable, m_getPeakFitWindow, m_inputMatrixWS, m_numPeaksToFit, m_outputPeakPositionWorkspace, m_peakFunction, m_rawPeaksTable, and m_startWorkspaceIndex.
Referenced by fitPeaks().
|
private |
Background function.
Definition at line 285 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), fitPeaks(), fitSpectrumPeaks(), generateFittedParametersValueWorkspaces(), processInputFunctions(), processInputs(), and writeFitResult().
|
private |
when true, and a peak-position constraint was applied (ConstrainPeakPositions or PositionToleranceMode=Constrain), the reported parameter errors are recomputed from the unconstrained cost function so the constraint penalty does not distort them
Definition at line 354 of file FitPeaks.h.
Referenced by fitFunctionSD(), and processInputs().
|
private |
when true, PositionTolerance is applied as an active constraint on the peak centre during fitting (bounded by expected_centre +/- tolerance) instead of only being checked after the fit
Definition at line 344 of file FitPeaks.h.
Referenced by fitFunctionSD(), fitSpectrumPeaks(), and processInputs().
|
private |
Definition at line 340 of file FitPeaks.h.
Referenced by fitFunctionSD(), and processInputs().
|
private |
Definition at line 301 of file FitPeaks.h.
Referenced by fitSpectrumPeaks(), and processInputs().
|
private |
Cost function.
Definition at line 292 of file FitPeaks.h.
Referenced by fitFunctionMD(), fitSpectrumPeaks(), processInputs(), and recalculateErrorsWithoutConstraint().
|
private |
table workspace for fitted parameters' fitting error. This is optional
Definition at line 272 of file FitPeaks.h.
Referenced by generateFittedParametersValueWorkspaces(), processOutputs(), and writeFitResult().
|
private |
Fit iterations.
Definition at line 299 of file FitPeaks.h.
Referenced by fitFunctionMD(), fitFunctionSD(), and processInputs().
|
private |
Fit from right or left.
Definition at line 297 of file FitPeaks.h.
Referenced by fitSpectrumPeaks(), and processInputs().
|
private |
output analysis workspaces table workspace for fitted parameters
Definition at line 270 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), generateFittedParametersValueWorkspaces(), processOutputs(), setupParameterTableWorkspace(), and writeFitResult().
|
private |
matrix workspace contained calcalated peaks+background from fitted result it has same number of spectra of input workspace even if only part of spectra to have peaks to fit
Definition at line 279 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), generateCalculatedPeaksWS(), and processOutputs().
|
private |
when true, each PositionTolerance value is interpreted as a fraction of this peak's (per-spectrum) fit window width rather than an absolute value, so the effective tolerance is tolerance*(window_max - window_min).
Orthogonal to the Check/Constrain mode - it rescales the tolerance used by either.
Definition at line 349 of file FitPeaks.h.
Referenced by fitSpectrumPeaks(), processInputs(), and processSinglePeakFitResult().
|
private |
Definition at line 318 of file FitPeaks.h.
Referenced by checkPeakIndices(), fitPeaks(), generateOutputPeakPositionWS(), processInputFitRanges(), and processInputPeakCenters().
|
private |
Definition at line 319 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), fitSpectrumPeaks(), processInputFitRanges(), processSinglePeakFitResult(), and writeFitResult().
|
private |
flag for high background
Definition at line 382 of file FitPeaks.h.
Referenced by fitIndividualPeak(), processInputFunctions(), and processInputs().
|
private |
input starting parameters' indexes in peak function
Definition at line 309 of file FitPeaks.h.
Referenced by convertParametersNameToIndex(), and decideToEstimatePeakParams().
|
private |
input peak parameters' starting values corresponding to above peak parameter names
Definition at line 364 of file FitPeaks.h.
Referenced by decideToEstimatePeakParams(), and processInputFunctions().
|
private |
event workspace for input
Definition at line 265 of file FitPeaks.h.
|
private |
Definition at line 263 of file FitPeaks.h.
Referenced by processInputFitRanges(), and processInputs().
|
private |
mandatory input and output workspaces
Definition at line 262 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), calculateSignalToNoiseRatio(), calculateSignalToSigmaRatio(), fitBackground(), fitFunctionHighBackground(), fitIndividualPeak(), fitSpectrumPeaks(), generateCalculatedPeaksWS(), getRangeData(), histRangeToDataPointCount(), histRangeToIndexBounds(), numberCounts(), processInputs(), processSinglePeakFitResult(), and writeFitResult().
|
private |
Linear background function for high background fitting.
Definition at line 287 of file FitPeaks.h.
Referenced by fitFunctionHighBackground(), and processInputFunctions().
|
private |
Minimzer.
Definition at line 290 of file FitPeaks.h.
Referenced by fitFunctionMD(), fitSpectrumPeaks(), processInputs(), and recalculateErrorsWithoutConstraint().
|
private |
minimum peak height without background and it also serves as the criteria for observed peak parameter
Definition at line 373 of file FitPeaks.h.
Referenced by fitFunctionSD(), processInputPeakTolerance(), and processSinglePeakFitResult().
|
private |
Definition at line 377 of file FitPeaks.h.
Referenced by fitIndividualPeak(), fitSpectrumPeaks(), and processInputPeakTolerance().
|
private |
Definition at line 376 of file FitPeaks.h.
Referenced by fitIndividualPeak(), and processInputPeakTolerance().
|
private |
Definition at line 379 of file FitPeaks.h.
Referenced by fitSpectrumPeaks(), and processInputPeakTolerance().
|
private |
the number of peaks to fit in all spectra
Definition at line 315 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), checkPeakIndices(), fitPeaks(), fitSpectrumPeaks(), generateOutputPeakPositionWS(), processInputFitRanges(), processInputPeakCenters(), processInputPeakTolerance(), processInputs(), processSinglePeakFitResult(), setupParameterTableWorkspace(), and writeFitResult().
|
private |
total number of spectra to be fit
Definition at line 333 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), fitPeaks(), generateOutputPeakPositionWS(), and processInputs().
|
private |
output workspace for peak positions
Definition at line 267 of file FitPeaks.h.
Referenced by generateOutputPeakPositionWS(), processOutputs(), and writeFitResult().
|
private |
Designed peak positions and tolerance.
Definition at line 312 of file FitPeaks.h.
Referenced by processInputFitRanges(), and processInputPeakCenters().
|
private |
Definition at line 313 of file FitPeaks.h.
Referenced by processInputFitRanges(), and processInputPeakCenters().
|
private |
Peak profile name.
Definition at line 283 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), convertParametersNameToIndex(), fitPeaks(), fitSpectrumPeaks(), generateFittedParametersValueWorkspaces(), processInputFunctions(), processInputs(), validateInputs(), and writeFitResult().
|
private |
input peak parameters' names
Definition at line 361 of file FitPeaks.h.
Referenced by convertParametersNameToIndex(), and processInputFunctions().
|
private |
peak positon tolerance case b, c and d
Definition at line 386 of file FitPeaks.h.
Referenced by fitSpectrumPeaks(), processInputPeakTolerance(), and processSinglePeakFitResult().
|
private |
tolerances for fitting peak positions
Definition at line 335 of file FitPeaks.h.
Referenced by fitSpectrumPeaks(), processInputPeakTolerance(), and processSinglePeakFitResult().
|
private |
Flag for observing peak width: there are 3 states (1) no estimation (2) from 'observation' (3) calculated from instrument resolution.
Definition at line 339 of file FitPeaks.h.
Referenced by fitFunctionSD(), fitSpectrumPeaks(), and processInputs().
|
private |
flag to estimate peak width from
Definition at line 325 of file FitPeaks.h.
Referenced by fitFunctionSD(), processInputFitRanges(), and processInputs().
|
private |
|
private |
Definition at line 358 of file FitPeaks.h.
Referenced by processInputFitRanges().
|
private |
table workspace for profile parameters' starting value
Definition at line 366 of file FitPeaks.h.
Referenced by convertParametersNameToIndex(), decideToEstimatePeakParams(), processInputFunctions(), and validateInputs().
|
private |
flag to show that the pamarameters in table are raw parameters or effective parameters
Definition at line 275 of file FitPeaks.h.
Referenced by generateFittedParametersValueWorkspaces(), and writeFitResult().
|
private |
Definition at line 305 of file FitPeaks.h.
Referenced by fitSpectrumPeaks(), and processInputs().
|
private |
start index
Definition at line 329 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), checkWorkspaceIndices(), fitPeaks(), generateOutputPeakPositionWS(), processInputFitRanges(), processInputPeakCenters(), processInputs(), setupParameterTableWorkspace(), and writeFitResult().
|
private |
stop index (workspace index of the last spectrum included)
Definition at line 331 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), checkWorkspaceIndices(), fitPeaks(), processInputFitRanges(), processInputPeakCenters(), processInputs(), and setupParameterTableWorkspace().
|
private |
Require an exact 'success' status to accept a fit, rather than also accepting the "changes too small" convergence statuses.
Definition at line 295 of file FitPeaks.h.
Referenced by fitFunctionMD(), fitFunctionSD(), and processInputs().
|
private |
Definition at line 316 of file FitPeaks.h.
Referenced by processInputFitRanges(), and processInputPeakCenters().
|
private |
flag for profile startng value being uniform or not
Definition at line 368 of file FitPeaks.h.
Referenced by processInputFunctions().