Mantid
|
#include <FitPeaks.h>
Public Member Functions | |
const std::string | category () const override |
Algorithm's category for identification. More... | |
FitPeaks () | |
const std::string | name () const override |
Algorithm's name. More... | |
const std::string | summary () const override |
Summary of algorithms purpose. More... | |
std::map< std::string, std::string > | validateInputs () override |
Validate inputs. More... | |
int | version () const override |
Algorithm's version. More... | |
Public Member Functions inherited from Mantid::API::Algorithm | |
Algorithm () | |
Constructor. More... | |
Algorithm (const Algorithm &)=delete | |
Algorithm & | operator= (const Algorithm &)=delete |
~Algorithm () override | |
Virtual destructor. More... | |
void | initialize () override |
Initialization method invoked by the framework. More... | |
bool | execute () override final |
The actions to be performed by the algorithm on a dataset. More... | |
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. More... | |
std::map< std::string, std::string > | validateInputs () override |
Perform validation of ALL the input properties of the algorithm. More... | |
ExecutionState | executionState () const override |
Gets the current execution state. More... | |
ResultState | resultState () const override |
Gets the current result State. More... | |
bool | isInitialized () const override |
Has the Algorithm already been initialized. More... | |
bool | isExecuted () const override |
Has the Algorithm already been executed successfully. More... | |
bool | isRunning () const override |
True if the algorithm is running. More... | |
bool | isReadyForGarbageCollection () const override |
True if the algorithm is ready for garbage collection. More... | |
bool | isChild () const override |
To query whether algorithm is a child. More... | |
void | setChild (const bool isChild) override |
To set whether algorithm is a child. More... | |
void | enableHistoryRecordingForChild (const bool on) override |
Change the state of the history recording flag. More... | |
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. More... | |
bool | getAlwaysStoreInADS () const override |
Returns true if we always store in the AnalysisDataService. More... | |
void | setRethrows (const bool rethrow) override |
Set whether the algorithm will rethrow exceptions. More... | |
Poco::ActiveResult< bool > | executeAsync () override |
Asynchronous execution. More... | |
void | addObserver (const Poco::AbstractObserver &observer) const override |
Add an observer for a notification. More... | |
void | removeObserver (const Poco::AbstractObserver &observer) const override |
Remove an observer. More... | |
void | cancel () override |
Raises the cancel flag. More... | |
bool | getCancel () const |
Returns the cancellation state. More... | |
Kernel::Logger & | getLogger () const |
Returns a reference to the logger. More... | |
void | setLogging (const bool value) override |
Logging can be disabled by passing a value of false. More... | |
bool | isLogging () const override |
returns the status of logging, True = enabled More... | |
void | setLoggingOffset (const int value) override |
gets the logging priority offset More... | |
int | getLoggingOffset () const override |
returns the logging priority offset More... | |
void | setAlgStartupLogging (const bool enabled) override |
disable Logging of start and end messages More... | |
bool | getAlgStartupLogging () const override |
get the state of Logging of start and end messages More... | |
void | setChildStartProgress (const double startProgress) const override |
setting the child start progress More... | |
void | setChildEndProgress (const double endProgress) const override |
setting the child end progress More... | |
std::string | toString () const override |
Serialize an object to a string. More... | |
::Json::Value | toJson () const override |
Serialize an object to a json object. More... | |
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. More... | |
void | setupAsChildAlgorithm (const Algorithm_sptr &algorithm, const double startProgress=-1., const double endProgress=-1., const bool enableLogging=true) |
Setup algorithm as child algorithm. More... | |
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. More... | |
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) More... | |
virtual bool | checkGroups () |
Check the input workspace properties for groups. More... | |
virtual bool | processGroups () |
Process WorkspaceGroup inputs. More... | |
void | copyNonWorkspaceProperties (IAlgorithm *alg, int periodNum) |
Copy all the non-workspace properties from this to alg. More... | |
const Parallel::Communicator & | communicator () const |
Returns a const reference to the (MPI) communicator of the algorithm. More... | |
void | setCommunicator (const Parallel::Communicator &communicator) |
Sets the (MPI) communicator of the algorithm. More... | |
void | declareProperty (std::unique_ptr< Kernel::Property > p, const std::string &doc="") override |
Add a property to the list of managed properties. More... | |
void | declareOrReplaceProperty (std::unique_ptr< Kernel::Property > p, const std::string &doc="") override |
Add or replace property in the list of managed properties. More... | |
void | resetProperties () override |
Reset property values back to initial values (blank or default values) More... | |
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. More... | |
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. More... | |
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. More... | |
void | setPropertyValue (const std::string &name, const std::string &value) override |
Set the value of a property by string N.B. More... | |
void | setPropertyValueFromJson (const std::string &name, const Json::Value &value) override |
Set the value of a property by Json::Value object. More... | |
void | setPropertyOrdinal (const int &index, const std::string &value) override |
Set the value of a property by an index N.B. More... | |
virtual void | copyPropertiesFrom (const Algorithm &alg) |
Make m_properties point to the same PropertyManager as alg.m_properties. More... | |
bool | existsProperty (const std::string &name) const override |
Checks whether the named property is already in the list of managed property. More... | |
bool | validateProperties () const override |
Validates all the properties in the collection. More... | |
size_t | propertyCount () const override |
Count the number of properties under management. More... | |
std::string | getPropertyValue (const std::string &name) const override |
Get the value of a property as a string. More... | |
const std::vector< Kernel::Property * > & | getProperties () const override |
Get the list of managed properties. More... | |
std::vector< std::string > | getDeclaredPropertyNames () const noexcept override |
Return the list of declared property names. More... | |
TypedValue | getProperty (const std::string &name) const override |
Get the value of a property. More... | |
std::string | asString (bool withDefaultValues=false) const override |
Return the property manager serialized as a string. More... | |
::Json::Value | asJson (bool withDefaultValues=false) const override |
Return the property manager serialized as a json object. More... | |
bool | isDefault (const std::string &name) const |
void | removeProperty (const std::string &name, const bool delproperty=true) override |
Removes the property from management. More... | |
std::unique_ptr< Kernel::Property > | takeProperty (const size_t index) override |
Removes the property from management and returns a pointer to it. More... | |
void | clear () override |
Clears all properties under management. More... | |
void | afterPropertySet (const std::string &) override |
Override this method to perform a custom action right after a property was set. More... | |
void | filterByTime (const Types::Core::DateAndTime &, const Types::Core::DateAndTime &) override |
void | splitByTime (std::vector< Kernel::SplittingInterval > &, std::vector< Kernel::PropertyManager * >) const override |
void | filterByProperty (const Kernel::TimeSeriesProperty< bool > &, const std::vector< std::string > &) override |
Kernel::Property * | getPointerToProperty (const std::string &name) const override |
Get a property by name. More... | |
Kernel::Property * | getPointerToPropertyOrdinal (const int &index) const override |
Get a property by an index. More... | |
virtual void | declareProperty (std::unique_ptr< Property > p, const std::string &doc="")=0 |
Function to declare properties (i.e. store them) More... | |
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. More... | |
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. More... | |
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. More... | |
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). More... | |
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). More... | |
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. More... | |
const std::string | category () const override |
function to return a category of the algorithm. More... | |
const std::vector< std::string > | categories () const override |
Function to return all of the categories that contain this algorithm. More... | |
const std::string | categorySeparator () const override |
Function to return the separator token for the category string. More... | |
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. More... | |
const std::string | alias () const override |
function to return any aliases to the algorithm; A default implementation is provided More... | |
const std::string | aliasDeprecated () const override |
Expiration date (in ISO8601 format) for the algorithm aliases; default implementation for no expiration date. More... | |
const std::string | helpURL () const override |
function to return URL for algorithm documentation; A default implementation is provided. More... | |
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 |
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) |
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) |
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. More... | |
virtual void | addObserver (const Poco::AbstractObserver &observer) const =0 |
Add an observer for a notification. More... | |
virtual const std::string | alias () const =0 |
function to return any aliases of the algorithm. More... | |
virtual const std::string | aliasDeprecated () const =0 |
Expiration date (in ISO8601 format) for the algorithm aliases. Empty if no expiration date. More... | |
virtual void | cancel ()=0 |
Raises the cancel flag. More... | |
virtual const std::vector< std::string > | categories () const =0 |
Function to return all of the categories that contain this algorithm. More... | |
virtual const std::string | category () const =0 |
function to return a category of the algorithm. More... | |
virtual const std::string | categorySeparator () const =0 |
Function to return the separator token for the category string. More... | |
virtual void | enableHistoryRecordingForChild (const bool on)=0 |
If true history will be recorded for a child. More... | |
virtual bool | execute ()=0 |
System execution. More... | |
virtual void | executeAsChildAlg ()=0 |
Execute as a Child Algorithm, with try/catch. More... | |
virtual Poco::ActiveResult< bool > | executeAsync ()=0 |
Asynchronous execution of the algorithm. More... | |
virtual ExecutionState | executionState () const =0 |
Gets the current execution state. More... | |
virtual AlgorithmID | getAlgorithmID () const =0 |
Algorithm ID. More... | |
virtual bool | getAlgStartupLogging () const =0 |
get the state of Logging of start and end messages More... | |
virtual bool | getAlwaysStoreInADS () const =0 |
To query whether the output is stored in the analysis data service. More... | |
virtual int | getLoggingOffset () const =0 |
returns the logging priority offset More... | |
virtual const std::string | helpURL () const =0 |
function to return an optional URL for documentation. More... | |
virtual void | initialize ()=0 |
Initialization method invoked by the framework. More... | |
virtual bool | isChild () const =0 |
To query whether algorithm is a child. Default to false. More... | |
virtual bool | isExecuted () const =0 |
Check whether the algorithm has been executed sucessfully. More... | |
virtual bool | isInitialized () const =0 |
Check whether the algorithm is initialized properly. More... | |
virtual bool | isLogging () const =0 |
returns the status of logging, True = enabled More... | |
virtual bool | isReadyForGarbageCollection () const =0 |
True if the algorithm is ready for garbage collection. More... | |
virtual bool | isRunning () const =0 |
True if the algorithm is running. More... | |
virtual const std::string | name () const =0 |
function to return a name of the algorithm, must be overridden in all algorithms More... | |
virtual void | removeObserver (const Poco::AbstractObserver &observer) const =0 |
Remove an observer. More... | |
virtual ResultState | resultState () const =0 |
Gets the currnet result State. More... | |
virtual const std::vector< std::string > | seeAlso () const =0 |
Function to return all of the seeAlso algorithms related to this algorithm. More... | |
virtual void | setAlgStartupLogging (const bool enabled)=0 |
disable Logging of start and end messages More... | |
virtual void | setAlwaysStoreInADS (const bool doStore)=0 |
Set whether we always store the output in the analysis data service. More... | |
virtual void | setChild (const bool isChild)=0 |
To set whether algorithm is a child. More... | |
virtual void | setChildEndProgress (const double endProgress) const =0 |
setting the child end progress More... | |
virtual void | setChildStartProgress (const double startProgress) const =0 |
setting the child start progress More... | |
virtual void | setLogging (const bool value)=0 |
Logging can be disabled by passing a value of false. More... | |
virtual void | setLoggingOffset (const int value)=0 |
gets the logging priority offset More... | |
virtual void | setRethrows (const bool rethrow)=0 |
To query whether an algorithm should rethrow exceptions when executing. More... | |
virtual const std::string | summary () const =0 |
function returns a summary message that will be displayed in the default GUI, and in the help. More... | |
virtual ::Json::Value | toJson () const =0 |
Serialize an algorithm as Json. More... | |
virtual std::string | toString () const =0 |
Serialize an algorithm. More... | |
virtual std::map< std::string, std::string > | validateInputs ()=0 |
Method checking errors on ALL the inputs, before execution. More... | |
virtual int | version () const =0 |
function to return a version of the algorithm, must be overridden in all algorithms More... | |
Algorithms As Methods | |
Public Member Functions inherited from Mantid::Kernel::IPropertyManager | |
virtual ::Json::Value | asJson (bool withDefaultValues=false) const =0 |
Return the property manager serialized as a json object. More... | |
virtual std::string | asString (bool withDefaultValues=false) const =0 |
Return the property manager serialized as a string. More... | |
virtual void | declareOrReplaceProperty (std::unique_ptr< Property > p, const std::string &doc="")=0 |
Function to declare properties (i.e. store them) More... | |
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). More... | |
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. More... | |
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). More... | |
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. More... | |
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. More... | |
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. More... | |
virtual void | declareProperty (std::unique_ptr< Property > p, const std::string &doc="")=0 |
Function to declare properties (i.e. store them) More... | |
virtual bool | existsProperty (const std::string &name) const =0 |
Checks whether the named property is already in the list of managed property. More... | |
virtual void | filterByProperty (const TimeSeriesProperty< bool > &, const std::vector< std::string > &)=0 |
virtual void | filterByTime (const Types::Core::DateAndTime &, const Types::Core::DateAndTime &)=0 |
virtual std::vector< std::string > | getDeclaredPropertyNames () const noexcept=0 |
Get the list of managed property names. More... | |
virtual Property * | getPointerToProperty (const std::string &name) const =0 |
Get a pointer to property by name. More... | |
virtual const std::vector< Property * > & | getProperties () const =0 |
Get the list of managed properties. More... | |
std::vector< Property * > | getPropertiesInGroup (const std::string &group) const |
Get the list of managed properties in a given group. More... | |
virtual TypedValue | getProperty (const std::string &name) const =0 |
Get the value of a property. More... | |
virtual std::string | getPropertyValue (const std::string &name) const =0 |
Get the value of a property as a string. More... | |
virtual size_t | propertyCount () const =0 |
Returns the number of properties under management. More... | |
virtual void | removeProperty (const std::string &name, const bool delproperty=true)=0 |
Removes the property from management. More... | |
virtual void | resetProperties ()=0 |
virtual void | setProperties (const ::Json::Value &jsonValue, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false)=0 |
Sets all the properties from a json object. More... | |
virtual void | setProperties (const std::string &propertiesJson, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false)=0 |
Sets all properties from a string. More... | |
virtual void | setPropertiesWithString (const std::string &propertiesString, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >())=0 |
Sets all the declared properties from a string. More... | |
IPropertyManager * | setProperty (const std::string &name, const char *value) |
Specialised version of setProperty template method to handle const char *. More... | |
IPropertyManager * | setProperty (const std::string &name, const std::string &value) |
Specialised version of setProperty template method to handle std::string. More... | |
template<typename T > | |
IPropertyManager * | setProperty (const std::string &name, const T &value) |
Templated method to set the value of a PropertyWithValue. More... | |
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. More... | |
void | setPropertyGroup (const std::string &name, const std::string &group) |
Set the group for a given property. More... | |
virtual void | setPropertyOrdinal (const int &index, const std::string &value)=0 |
Set the value of a property by an index. More... | |
void | setPropertySettings (const std::string &name, std::unique_ptr< IPropertySettings > settings) |
virtual void | setPropertyValue (const std::string &name, const std::string &value)=0 |
Sets property value from a string. More... | |
virtual void | setPropertyValueFromJson (const std::string &name, const Json::Value &value)=0 |
Sets property value from a Json::Value. More... | |
virtual void | splitByTime (std::vector< SplittingInterval > &, std::vector< PropertyManager * >) const =0 |
virtual std::unique_ptr< Property > | takeProperty (const size_t index)=0 |
Removes the property from management and returns a pointer to it. More... | |
void | updatePropertyValues (const IPropertyManager &other) |
Update values of the existing properties. More... | |
virtual bool | validateProperties () const =0 |
Validates all the properties in the collection. More... | |
virtual | ~IPropertyManager ()=default |
Private Member Functions | |
void | calculateFittedPeaks (std::vector< std::shared_ptr< FitPeaksAlgorithm::PeakFitResult > > fit_results) |
calculate peak+background for fitted More... | |
void | convertParametersNameToIndex () |
Convert peak function's parameter names to parameter index for fast access. More... | |
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. More... | |
bool | decideToEstimatePeakParams (const bool firstPeakInSpectrum, const API::IPeakFunction_sptr &peak_function) |
Decide whether to estimate peak parameters. More... | |
void | exec () override |
Main exec method. More... | |
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 More... | |
double | fitFunctionHighBackground (const API::IAlgorithm_sptr &fit, const std::pair< double, double > &fit_window, const size_t &ws_index, const double &expected_peak_center, bool observe_peak_shape, const API::IPeakFunction_sptr &peakfunction, const API::IBackgroundFunction_sptr &bkgdfunc) |
fit a single peak with high background More... | |
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, bool estimate_peak_width, bool estimate_background) |
Methods to fit functions (general) More... | |
double | fitIndividualPeak (size_t wi, const API::IAlgorithm_sptr &fitter, const double expected_peak_center, const std::pair< double, double > &fitwindow, const bool estimate_peak_width, const API::IPeakFunction_sptr &peakfunction, const API::IBackgroundFunction_sptr &bkgdfunc) |
Fit an individual peak. More... | |
std::vector< std::shared_ptr< FitPeaksAlgorithm::PeakFitResult > > | fitPeaks () |
suites of method to fit peaks More... | |
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) |
fit peaks in a same spectrum More... | |
void | generateCalculatedPeaksWS () |
Generate workspace for calculated values. More... | |
void | generateFittedParametersValueWorkspaces () |
Generate output workspaces. More... | |
void | generateOutputPeakPositionWS () |
main method to create output workspaces More... | |
std::vector< double > | getExpectedPeakPositions (size_t wi) |
methods to retrieve fit range and peak centers More... | |
std::pair< double, double > | getPeakFitWindow (size_t wi, size_t ipeak) |
get the peak fit window More... | |
std::string | getPeakHeightParameterName (const API::IPeakFunction_const_sptr &peak_function) |
Get the parameter name for peak height (I or height or etc) More... | |
void | getRangeData (size_t iws, const std::pair< double, double > &fit_window, 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 More... | |
void | init () override |
Init. More... | |
bool | isObservablePeakProfile (const std::string &peakprofile) |
check whether FitPeaks supports observation on a certain peak profile's parameters (width!) More... | |
void | processInputFitRanges () |
process inputs for peak fitting range More... | |
void | processInputFunctions () |
process inputs for peak and background functions More... | |
void | processInputPeakCenters () |
peak centers More... | |
void | processInputPeakTolerance () |
process inputs about fitted peak positions' tolerance More... | |
void | processInputs () |
process inputs (main and child algorithms) More... | |
void | processOutputs (std::vector< std::shared_ptr< FitPeaksAlgorithm::PeakFitResult > > fit_result_vec) |
Set the workspaces and etc to output properties. More... | |
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. More... | |
void | reduceByBackground (const API::IBackgroundFunction_sptr &bkgd_func, const std::vector< double > &vec_x, std::vector< double > &vec_y) |
Reduce background. More... | |
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) More... | |
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. More... | |
Private Attributes | |
API::IBackgroundFunction_sptr | m_bkgdFunction |
Background function. More... | |
double | m_bkgdSimga |
bool | m_calculateWindowInstrument |
flag to calcualte peak fit window from instrument resolution More... | |
bool | m_constrainPeaksPosition |
std::string | m_costFunction |
Cost function. More... | |
API::ITableWorkspace_sptr | m_fitErrorTable |
table workspace for fitted parameters' fitting error. This is optional More... | |
int | m_fitIterations |
Fit iterations. More... | |
bool | m_fitPeaksFromRight |
Fit from right or left. More... | |
API::ITableWorkspace_sptr | m_fittedParamTable |
output analysis workspaces table workspace for fitted parameters More... | |
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 More... | |
bool | m_highBackground |
flag for high background More... | |
std::vector< size_t > | m_initParamIndexes |
input starting parameters' indexes in peak function More... | |
std::vector< double > | m_initParamValues |
input peak parameters' starting values corresponding to above peak parameter names More... | |
DataObjects::EventWorkspace_const_sptr | m_inputEventWS |
event workspace for input More... | |
bool | m_inputIsDSpace |
API::MatrixWorkspace_sptr | m_inputMatrixWS |
mandatory input and output workspaces More... | |
API::IBackgroundFunction_sptr | m_linearBackgroundFunction |
Linear background function for high background fitting. More... | |
std::string | m_minimizer |
Minimzer. More... | |
double | m_minPeakHeight |
minimum peak height without background and it also serves as the criteria for observed peak parameter More... | |
size_t | m_numPeaksToFit |
API::MatrixWorkspace_sptr | m_outputPeakPositionWorkspace |
output workspace for peak positions More... | |
bool | m_partialSpectra |
flag whether the peak center workspace has only a subset of spectra to fit More... | |
bool | m_partialWindowSpectra |
std::vector< double > | m_peakCenters |
Designed peak positions and tolerance. More... | |
API::MatrixWorkspace_const_sptr | m_peakCenterWorkspace |
API::IPeakFunction_sptr | m_peakFunction |
Peak profile name. More... | |
std::vector< std::string > | m_peakParamNames |
input peak parameters' names More... | |
bool | m_peakPosTolCase234 |
peak positon tolerance case b, c and d More... | |
std::vector< double > | m_peakPosTolerances |
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. More... | |
double | m_peakWidthPercentage |
flag to estimate peak width from More... | |
std::vector< std::vector< double > > | m_peakWindowVector |
peak windows More... | |
API::MatrixWorkspace_const_sptr | m_peakWindowWorkspace |
API::ITableWorkspace_const_sptr | m_profileStartingValueTable |
table workspace for profile parameters' starting value More... | |
bool | m_rawPeaksTable |
flag to show that the pamarameters in table are raw parameters or effective parameters More... | |
size_t | m_startWorkspaceIndex |
start index More... | |
size_t | m_stopWorkspaceIndex |
stop index (workspace index of the last spectrum included) More... | |
bool | m_uniformPeakPositions |
bool | m_uniformPeakWindows |
bool | m_uniformProfileStartingValue |
flag for profile startng value being uniform or not More... | |
Additional Inherited Members | |
Public Types inherited from Mantid::API::Algorithm | |
using | WorkspaceVector = std::vector< std::shared_ptr< Workspace > > |
Static Public Member Functions inherited from Mantid::API::Algorithm | |
static IAlgorithm_sptr | fromString (const std::string &input) |
De-serialize an object from a string. More... | |
static IAlgorithm_sptr | fromJson (const Json::Value &input) |
De-serialize an object from a Json. More... | |
static IAlgorithm_sptr | fromHistory (const AlgorithmHistory &history) |
Construct an object from a history entry. More... | |
Public Attributes inherited from Mantid::API::Algorithm | |
bool | calledByAlias = false |
Flag to indicate if the algorithm is called by its alias. More... | |
Protected Member Functions inherited from Mantid::API::Algorithm | |
void | exec (Parallel::ExecutionMode executionMode) |
Runs the algorithm with the specified execution mode. More... | |
virtual void | execDistributed () |
Runs the algorithm in distributed execution mode. More... | |
virtual void | execMasterOnly () |
Runs the algorithm in master-only execution mode. More... | |
virtual Parallel::ExecutionMode | getParallelExecutionMode (const std::map< std::string, Parallel::StorageMode > &storageModes) const |
Get correct execution mode based on input storage modes for an MPI run. More... | |
virtual const std::string | workspaceMethodOnTypes () const |
Returns a semi-colon separated list of workspace types to attach this algorithm. More... | |
void | cacheWorkspaceProperties () |
Go through the properties and cache the input/output workspace properties for later use. More... | |
void | cacheInputWorkspaceHistories () |
Cache the histories of any input workspaces so they can be copied over after algorithm completion. More... | |
void | setExecutionState (const ExecutionState state) |
Sets the current execution state. More... | |
void | setResultState (const ResultState state) |
Sets the result execution state. More... | |
void | store () |
Stores any output workspaces into the AnalysisDataService. More... | |
void | progress (double p, const std::string &msg="", double estimatedTime=0.0, int progressPrecision=0) |
Sends ProgressNotification. More... | |
void | interruption_point () |
This is called during long-running operations, and check if the algorithm has requested that it be cancelled. More... | |
Poco::NotificationCenter & | notificationCenter () const |
Return a reference to the algorithm's notification dispatcher. More... | |
void | handleChildProgressNotification (const Poco::AutoPtr< ProgressNotification > &pNf) |
Observation slot for child algorithm progress notification messages, these are scaled and then signalled for this algorithm. More... | |
const Poco::AbstractObserver & | progressObserver () const |
Return a reference to the algorithm's object that is reporting progress. More... | |
bool | isWorkspaceProperty (const Kernel::Property *const prop) const |
checks the property is a workspace property More... | |
bool | trackingHistory () |
get whether we are tracking the history for this algorithm, More... | |
virtual void | fillHistory () |
Copy workspace history for input workspaces to output workspaces and record the history for ths algorithm. More... | |
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. More... | |
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) |
Protected Member Functions inherited from Mantid::Kernel::IPropertyManager | |
virtual void | afterPropertySet (const std::string &) |
Override this method to perform a custom action right after a property was set. More... | |
virtual void | clear ()=0 |
Clears all properties under management. More... | |
virtual Property * | getPointerToPropertyOrdinal (const int &index) const =0 |
Get a property by an index. More... | |
template<typename T > | |
T | getValue (const std::string &name) const |
Templated method to get the value of a property. More... | |
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. More... | |
Protected Attributes inherited from Mantid::API::Algorithm | |
std::atomic< bool > | m_cancel |
Set to true to stop execution. More... | |
std::atomic< bool > | m_parallelException |
Set if an exception is thrown, and not caught, within a parallel region. More... | |
std::vector< IWorkspaceProperty * > | m_inputWorkspaceProps |
All the WorkspaceProperties that are Input or InOut. Set in execute() More... | |
std::shared_ptr< AlgorithmHistory > | m_history |
Pointer to the history for the algorithm being executed. More... | |
Kernel::Logger | m_log |
Logger for this algorithm. More... | |
Kernel::Logger & | g_log |
std::shared_ptr< AlgorithmHistory > | m_parentHistory |
Pointer to the parent history object (if set) More... | |
std::vector< WorkspaceVector > | m_unrolledInputWorkspaces |
One vector of workspaces for each input workspace property. More... | |
size_t | m_groupSize |
Size of the group(s) being processed. More... | |
bool | m_usingBaseProcessGroups = false |
distinguish between base processGroups() and overriden/algorithm specific versions More... | |
Static Protected Attributes inherited from Mantid::API::Algorithm | |
static size_t | g_execCount = 0 |
Counter to keep track of algorithm execution order. More... | |
Definition at line 65 of file FitPeaks.h.
Mantid::Algorithms::FitPeaks::FitPeaks | ( | ) |
Definition at line 197 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 1272 of file FitPeaks.cpp.
References Mantid::API::FunctionValues::getCalculated(), getPeakFitWindow(), m_bkgdFunction, m_fittedParamTable, m_fittedPeakWS, m_numPeaksToFit, 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().
|
inlineoverridevirtual |
Algorithm's category for identification.
Implements Mantid::API::IAlgorithm.
Definition at line 79 of file FitPeaks.h.
|
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 810 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 single spectrum workspace for fitting.
Definition at line 1657 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 |
peak_function | :: peak function to set parameter values to |
Definition at line 1118 of file FitPeaks.cpp.
References m_initParamIndexes, and m_initParamValues.
Referenced by fitSpectrumPeaks().
|
overrideprivatevirtual |
Main exec method.
Implements Mantid::API::Algorithm.
Definition at line 448 of file FitPeaks.cpp.
References fitPeaks(), generateCalculatedPeaksWS(), generateFittedParametersValueWorkspaces(), generateOutputPeakPositionWS(), processInputs(), and processOutputs().
|
private |
fit background
Fit background function.
Definition at line 1387 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 1615 of file FitPeaks.cpp.
References createMatrixWorkspace(), fitBackground(), fitFunctionSD(), getRangeData(), m_inputMatrixWS, m_linearBackgroundFunction, n, and reduceByBackground().
Referenced by fitIndividualPeak().
|
private |
Definition at line 1555 of file FitPeaks.cpp.
References Mantid::API::Algorithm::createChildAlgorithm(), m_costFunction, m_fitIterations, and m_minimizer.
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 1460 of file FitPeaks.cpp.
References Mantid::Kernel::Logger::debug(), Mantid::Algorithms::PeakParameterHelper::estimatePeakParameters(), Mantid::Algorithms::PeakParameterHelper::findXIndex(), Mantid::API::Algorithm::g_log, Mantid::Algorithms::PeakParameterHelper::GOOD, Mantid::Algorithms::PeakParameterHelper::LOWPEAK, m_constrainPeaksPosition, m_fitIterations, m_minPeakHeight, m_peakWidthEstimateApproach, m_peakWidthPercentage, Mantid::Algorithms::PeakParameterHelper::NOSIGNAL, and Mantid::Kernel::Logger::warning().
Referenced by fitFunctionHighBackground(), and fitIndividualPeak().
|
private |
Fit an individual peak.
Definition at line 1431 of file FitPeaks.cpp.
References fitFunctionHighBackground(), fitFunctionSD(), m_highBackground, m_inputMatrixWS, and m_minPeakHeight.
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 842 of file FitPeaks.cpp.
References fitSpectrumPeaks(), getExpectedPeakPositions(), Mantid::Kernel::SingletonHolder< T >::Instance(), m_bkgdFunction, m_numPeaksToFit, 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 935 of file FitPeaks.cpp.
References Mantid::Algorithms::FitPeaksAlgorithm::FitFunction::bkgdfunction, Mantid::API::Algorithm::createChildAlgorithm(), decideToEstimatePeakParams(), Mantid::Kernel::Logger::error(), fitIndividualPeak(), Mantid::API::Algorithm::g_log, getPeakFitWindow(), m_bkgdFunction, m_costFunction, m_fitPeaksFromRight, m_inputMatrixWS, m_minimizer, m_minPeakHeight, m_numPeaksToFit, m_peakFunction, m_peakWidthEstimateApproach, Mantid::Algorithms::FitPeaksAlgorithm::FitFunction::peakfunction, processSinglePeakFitResult(), value, and Mantid::Kernel::Logger::warning().
Referenced by fitPeaks().
|
private |
Generate workspace for calculated values.
Generate the output MatrixWorkspace for calculated peaks (as an option)
FitPeaks::generateCalculatedPeaksWS
Definition at line 1782 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 1740 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 1682 of file FitPeaks.cpp.
References getExpectedPeakPositions(), m_numPeaksToFit, m_outputPeakPositionWorkspace, m_startWorkspaceIndex, and m_stopWorkspaceIndex.
Referenced by exec().
|
private |
methods to retrieve fit range and peak centers
Get the expected peak's position.
Definition at line 1818 of file FitPeaks.cpp.
References m_numPeaksToFit, m_peakCenters, m_peakCenterWorkspace, m_startWorkspaceIndex, m_stopWorkspaceIndex, and m_uniformPeakPositions.
Referenced by fitPeaks(), generateOutputPeakPositionWS(), and getPeakFitWindow().
|
private |
get the peak fit window
Definition at line 1848 of file FitPeaks.cpp.
References getExpectedPeakPositions(), left, m_calculateWindowInstrument, m_numPeaksToFit, m_peakWidthPercentage, m_peakWindowVector, m_peakWindowWorkspace, m_startWorkspaceIndex, m_stopWorkspaceIndex, m_uniformPeakWindows, and right.
Referenced by calculateFittedPeaks(), fitSpectrumPeaks(), and processSinglePeakFitResult().
|
private |
Get the parameter name for peak height (I or height or etc)
Definition at line 2077 of file FitPeaks.cpp.
References name().
|
private |
get vector X, Y and E in a given range
Definition at line 1903 of file FitPeaks.cpp.
References Mantid::Algorithms::PeakParameterHelper::findXIndex(), and m_inputMatrixWS.
Referenced by fitFunctionHighBackground().
|
overrideprivatevirtual |
Init.
initialize the properties
Implements Mantid::API::Algorithm.
Definition at line 204 of file FitPeaks.cpp.
References Mantid::API::Algorithm::declareProperty(), Mantid::EMPTY_DBL(), Mantid::EMPTY_INT(), Mantid::Kernel::Direction::Input, Mantid::Kernel::SingletonHolder< T >::Instance(), Mantid::API::PropertyMode::Optional, Mantid::Kernel::Direction::Output, 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 1379 of file FitPeaks.cpp.
Referenced by processInputs().
|
inlineoverridevirtual |
Algorithm's name.
Implements Mantid::API::Algorithm.
Definition at line 70 of file FitPeaks.h.
Referenced by getPeakHeightParameterName(), and validateInputs().
|
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 595 of file FitPeaks.cpp.
References Mantid::API::Algorithm::getProperty(), Mantid::API::Algorithm::getPropertyValue(), m_calculateWindowInstrument, m_inputIsDSpace, m_inputMatrixWS, m_numPeaksToFit, m_partialSpectra, m_partialWindowSpectra, m_peakCenters, m_peakCenterWorkspace, m_peakWidthPercentage, m_peakWindowVector, m_peakWindowWorkspace, m_startWorkspaceIndex, m_stopWorkspaceIndex, m_uniformPeakPositions, and m_uniformPeakWindows.
Referenced by processInputs().
|
private |
process inputs for peak and background functions
process inputs for peak profile and background
Definition at line 542 of file FitPeaks.cpp.
References convertParametersNameToIndex(), Mantid::API::Algorithm::g_log, Mantid::API::Algorithm::getProperty(), Mantid::API::Algorithm::getPropertyValue(), Mantid::Kernel::SingletonHolder< T >::Instance(), 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 712 of file FitPeaks.cpp.
References Mantid::Kernel::Logger::debug(), Mantid::Kernel::Logger::error(), Mantid::API::Algorithm::g_log, Mantid::API::Algorithm::getProperty(), Mantid::API::Algorithm::getPropertyValue(), m_inputMatrixWS, m_numPeaksToFit, m_partialSpectra, 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 771 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_numPeaksToFit, m_peakPosTolCase234, and m_peakPosTolerances.
Referenced by processInputs().
|
private |
process inputs (main and child algorithms)
Definition at line 469 of file FitPeaks.cpp.
References Mantid::Kernel::Logger::debug(), Mantid::API::Algorithm::g_log, Mantid::API::Algorithm::getProperty(), Mantid::API::Algorithm::getPropertyValue(), Mantid::API::Algorithm::isEmpty(), isObservablePeakProfile(), m_bkgdFunction, m_bkgdSimga, m_constrainPeaksPosition, m_costFunction, m_fitIterations, m_fitPeaksFromRight, m_highBackground, m_inputIsDSpace, m_inputMatrixWS, m_minimizer, m_numPeaksToFit, m_peakFunction, m_peakWidthEstimateApproach, m_peakWidthPercentage, m_startWorkspaceIndex, m_stopWorkspaceIndex, processInputFitRanges(), processInputFunctions(), processInputPeakCenters(), and processInputPeakTolerance().
Referenced by exec().
|
private |
Set the workspaces and etc to output properties.
set up output workspaces
Definition at line 1797 of file FitPeaks.cpp.
References calculateFittedPeaks(), Mantid::Kernel::Logger::debug(), Mantid::API::Algorithm::g_log, m_fitErrorTable, m_fittedParamTable, m_fittedPeakWS, m_outputPeakPositionWorkspace, 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 1158 of file FitPeaks.cpp.
References Mantid::Kernel::Logger::debug(), fabs, Mantid::API::Algorithm::g_log, getPeakFitWindow(), m_inputMatrixWS, m_minPeakHeight, m_numPeaksToFit, m_peakPosTolCase234, m_peakPosTolerances, and Mantid::Algorithms::FitPeaksAlgorithm::FitFunction::peakfunction.
Referenced by fitSpectrumPeaks().
|
private |
Reduce background.
Reduce Y value with given background function.
bkgd_func | :: bacground function pointer |
vec_x | :: vector of X valye |
vec_y | :: (input/output) vector Y to be reduced by background function |
Definition at line 1950 of file FitPeaks.cpp.
Referenced by fitFunctionHighBackground().
|
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 1707 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 73 of file FitPeaks.h.
|
overridevirtual |
Validate inputs.
Implements Mantid::API::IAlgorithm.
Definition at line 373 of file FitPeaks.cpp.
References Mantid::API::Algorithm::getProperty(), Mantid::API::Algorithm::getPropertyValue(), Mantid::Kernel::SingletonHolder< T >::Instance(), m_peakFunction, m_profileStartingValueTable, and name().
|
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 1975 of file FitPeaks.cpp.
References Mantid::Kernel::Logger::error(), Mantid::API::Algorithm::g_log, m_bkgdFunction, m_fitErrorTable, m_fittedParamTable, m_numPeaksToFit, m_outputPeakPositionWorkspace, m_peakFunction, m_rawPeaksTable, and m_startWorkspaceIndex.
Referenced by fitPeaks().
|
private |
Background function.
Definition at line 211 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), fitPeaks(), fitSpectrumPeaks(), generateFittedParametersValueWorkspaces(), processInputFunctions(), processInputs(), and writeFitResult().
|
private |
Definition at line 276 of file FitPeaks.h.
Referenced by processInputs().
|
private |
flag to calcualte peak fit window from instrument resolution
Definition at line 257 of file FitPeaks.h.
Referenced by getPeakFitWindow(), and processInputFitRanges().
|
private |
Definition at line 249 of file FitPeaks.h.
Referenced by fitFunctionSD(), and processInputs().
|
private |
Cost function.
Definition at line 218 of file FitPeaks.h.
Referenced by fitFunctionMD(), fitSpectrumPeaks(), and processInputs().
|
private |
table workspace for fitted parameters' fitting error. This is optional
Definition at line 198 of file FitPeaks.h.
Referenced by generateFittedParametersValueWorkspaces(), processOutputs(), and writeFitResult().
|
private |
Fit iterations.
Definition at line 222 of file FitPeaks.h.
Referenced by fitFunctionMD(), fitFunctionSD(), and processInputs().
|
private |
Fit from right or left.
Definition at line 220 of file FitPeaks.h.
Referenced by fitSpectrumPeaks(), and processInputs().
|
private |
output analysis workspaces table workspace for fitted parameters
Definition at line 196 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 205 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), generateCalculatedPeaksWS(), and processOutputs().
|
private |
flag for high background
Definition at line 275 of file FitPeaks.h.
Referenced by fitIndividualPeak(), processInputFunctions(), and processInputs().
|
private |
input starting parameters' indexes in peak function
Definition at line 226 of file FitPeaks.h.
Referenced by convertParametersNameToIndex(), and decideToEstimatePeakParams().
|
private |
input peak parameters' starting values corresponding to above peak parameter names
Definition at line 263 of file FitPeaks.h.
Referenced by decideToEstimatePeakParams(), and processInputFunctions().
|
private |
event workspace for input
Definition at line 191 of file FitPeaks.h.
|
private |
Definition at line 189 of file FitPeaks.h.
Referenced by processInputFitRanges(), and processInputs().
|
private |
mandatory input and output workspaces
Definition at line 188 of file FitPeaks.h.
Referenced by fitBackground(), fitFunctionHighBackground(), fitIndividualPeak(), fitSpectrumPeaks(), generateCalculatedPeaksWS(), getRangeData(), processInputFitRanges(), processInputPeakCenters(), processInputs(), and processSinglePeakFitResult().
|
private |
Linear background function for high background fitting.
Definition at line 213 of file FitPeaks.h.
Referenced by fitFunctionHighBackground(), and processInputFunctions().
|
private |
Minimzer.
Definition at line 216 of file FitPeaks.h.
Referenced by fitFunctionMD(), fitSpectrumPeaks(), and processInputs().
|
private |
minimum peak height without background and it also serves as the criteria for observed peak parameter
Definition at line 272 of file FitPeaks.h.
Referenced by fitFunctionSD(), fitIndividualPeak(), fitSpectrumPeaks(), processInputPeakTolerance(), and processSinglePeakFitResult().
|
private |
Definition at line 231 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), fitPeaks(), fitSpectrumPeaks(), generateOutputPeakPositionWS(), getExpectedPeakPositions(), getPeakFitWindow(), processInputFitRanges(), processInputPeakCenters(), processInputPeakTolerance(), processInputs(), processSinglePeakFitResult(), setupParameterTableWorkspace(), and writeFitResult().
|
private |
output workspace for peak positions
Definition at line 193 of file FitPeaks.h.
Referenced by generateOutputPeakPositionWS(), processOutputs(), and writeFitResult().
|
private |
flag whether the peak center workspace has only a subset of spectra to fit
Definition at line 243 of file FitPeaks.h.
Referenced by processInputFitRanges(), and processInputPeakCenters().
|
private |
Definition at line 255 of file FitPeaks.h.
Referenced by processInputFitRanges().
|
private |
Designed peak positions and tolerance.
Definition at line 229 of file FitPeaks.h.
Referenced by getExpectedPeakPositions(), processInputFitRanges(), and processInputPeakCenters().
|
private |
Definition at line 230 of file FitPeaks.h.
Referenced by getExpectedPeakPositions(), processInputFitRanges(), and processInputPeakCenters().
|
private |
Peak profile name.
Definition at line 209 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), convertParametersNameToIndex(), fitPeaks(), fitSpectrumPeaks(), generateFittedParametersValueWorkspaces(), processInputFunctions(), processInputs(), validateInputs(), and writeFitResult().
|
private |
input peak parameters' names
Definition at line 260 of file FitPeaks.h.
Referenced by convertParametersNameToIndex(), and processInputFunctions().
|
private |
peak positon tolerance case b, c and d
Definition at line 280 of file FitPeaks.h.
Referenced by processInputPeakTolerance(), and processSinglePeakFitResult().
|
private |
Definition at line 244 of file FitPeaks.h.
Referenced by 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 248 of file FitPeaks.h.
Referenced by fitFunctionSD(), fitSpectrumPeaks(), and processInputs().
|
private |
flag to estimate peak width from
Definition at line 235 of file FitPeaks.h.
Referenced by fitFunctionSD(), getPeakFitWindow(), processInputFitRanges(), and processInputs().
|
private |
peak windows
Definition at line 252 of file FitPeaks.h.
Referenced by getPeakFitWindow(), and processInputFitRanges().
|
private |
Definition at line 253 of file FitPeaks.h.
Referenced by getPeakFitWindow(), and processInputFitRanges().
|
private |
table workspace for profile parameters' starting value
Definition at line 265 of file FitPeaks.h.
Referenced by convertParametersNameToIndex(), processInputFunctions(), and validateInputs().
|
private |
flag to show that the pamarameters in table are raw parameters or effective parameters
Definition at line 201 of file FitPeaks.h.
Referenced by generateFittedParametersValueWorkspaces(), and writeFitResult().
|
private |
start index
Definition at line 239 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), fitPeaks(), generateOutputPeakPositionWS(), getExpectedPeakPositions(), getPeakFitWindow(), processInputFitRanges(), processInputPeakCenters(), processInputs(), setupParameterTableWorkspace(), and writeFitResult().
|
private |
stop index (workspace index of the last spectrum included)
Definition at line 241 of file FitPeaks.h.
Referenced by calculateFittedPeaks(), fitPeaks(), generateOutputPeakPositionWS(), getExpectedPeakPositions(), getPeakFitWindow(), processInputFitRanges(), processInputPeakCenters(), processInputs(), and setupParameterTableWorkspace().
|
private |
Definition at line 232 of file FitPeaks.h.
Referenced by getExpectedPeakPositions(), processInputFitRanges(), and processInputPeakCenters().
|
private |
Definition at line 254 of file FitPeaks.h.
Referenced by getPeakFitWindow(), and processInputFitRanges().
|
private |
flag for profile startng value being uniform or not
Definition at line 267 of file FitPeaks.h.
Referenced by processInputFunctions().