Chemical Data Processing Library C++ API - Version 1.4.0
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
CDPL::Shape::FastGaussianShapeAlignment Class Reference

High-level driver for the fast alignment of Gaussian shapes against a set of reference shapes. More...

#include <FastGaussianShapeAlignment.hpp>

Public Types

typedef std::shared_ptr< FastGaussianShapeAlignmentSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated FastGaussianShapeAlignment instances. More...
 
typedef ResultList::const_iterator ConstResultIterator
 A constant iterator over the alignment results. More...
 
typedef ResultList::iterator ResultIterator
 A mutable iterator over the alignment results. More...
 
typedef std::function< double(const AlignmentResult &)> ScoringFunction
 Type of the function used to score an alignment result. More...
 
typedef std::function< bool(const AlignmentResult &, const AlignmentResult &)> ResultCompareFunction
 Type of the function used to compare two alignment results. More...
 

Public Member Functions

 FastGaussianShapeAlignment ()
 Constructs the FastGaussianShapeAlignment instance. More...
 
 FastGaussianShapeAlignment (const GaussianShape &ref_shape)
 Constructs the FastGaussianShapeAlignment instance with ref_shape as the single reference shape. More...
 
 FastGaussianShapeAlignment (const GaussianShapeSet &ref_shapes)
 Constructs the FastGaussianShapeAlignment instance with the shapes in ref_shapes as the reference set. More...
 
 FastGaussianShapeAlignment (const FastGaussianShapeAlignment &alignment)=delete
 
 ~FastGaussianShapeAlignment ()
 Destructor. More...
 
FastGaussianShapeAlignmentoperator= (const FastGaussianShapeAlignment &alignment)=delete
 
void setResultCompareFunction (const ResultCompareFunction &func)
 Specifies the function used to compare two alignment results for sorting and filtering. More...
 
const ResultCompareFunctiongetResultCompareFunction () const
 Returns the currently configured result-compare function. More...
 
void setScoringFunction (const ScoringFunction &func)
 Specifies the function used to score an alignment result. More...
 
const ScoringFunctiongetScoringFunction () const
 Returns the currently configured scoring function. More...
 
void setResultSelectionMode (unsigned int mode)
 Sets the alignment-result selection mode (see namespace Shape::AlignmentResultSelectionMode). More...
 
unsigned int getResultSelectionMode () const
 Returns the currently configured alignment-result selection mode. More...
 
void performAlignment (bool perf_align)
 Specifies whether the actual alignment shall be performed (vs. only evaluating overlaps in the initial pose). More...
 
bool performAlignment () const
 Tells whether the actual alignment is performed. More...
 
void optimizeOverlap (bool optimize)
 Specifies whether the overlap shall be optimized iteratively after the initial alignment. More...
 
bool optimizeOverlap () const
 Tells whether the overlap is optimized iteratively. More...
 
void greedyOptimization (bool greedy)
 Specifies whether the overlap optimization shall use a greedy strategy that stops at the first local maximum. More...
 
bool greedyOptimization () const
 Tells whether the overlap optimization uses a greedy strategy. More...
 
void setMaxNumOptimizationIterations (std::size_t max_iter)
 Sets the maximum number of overlap-optimization iterations. More...
 
std::size_t getMaxNumOptimizationIterations () const
 Returns the currently configured maximum number of overlap-optimization iterations. More...
 
void setOptimizationStopGradient (double grad_norm)
 Sets the gradient norm at which the overlap optimization is stopped. More...
 
double getOptimizationStopGradient () const
 Returns the currently configured overlap-optimization stop gradient. More...
 
void clearReferenceShapes ()
 Removes all reference shapes and reference shape sets. More...
 
void addReferenceShape (const GaussianShape &shape, bool new_set=true)
 Adds shape to the reference shapes. More...
 
void addReferenceShapes (const GaussianShapeSet &shapes, bool new_set=true)
 Adds the shapes in shapes to the reference shapes. More...
 
std::size_t getNumReferenceShapes () const
 Returns the total number of reference shapes. More...
 
void genShapeCenterStarts (bool generate)
 Enables or disables the generation of a starting transformation at the shape centroid. More...
 
bool genShapeCenterStarts () const
 Tells whether a starting transformation at the shape centroid is generated. More...
 
void genColorCenterStarts (bool generate)
 Enables or disables the generation of starting transformations at color (pharmacophore) feature centers. More...
 
bool genColorCenterStarts () const
 Tells whether starting transformations at color (pharmacophore) feature centers are generated. More...
 
void genNonColorCenterStarts (bool generate)
 Enables or disables the generation of starting transformations at non-color (shape) element centers. More...
 
bool genNonColorCenterStarts () const
 Tells whether starting transformations at non-color (shape) element centers are generated. More...
 
void genRandomStarts (bool generate)
 Enables or disables the generation of random starting transformations. More...
 
bool genRandomStarts () const
 Tells whether random starting transformations are generated. More...
 
void genForAlignedShapeCenters (bool generate)
 Specifies whether element-/color-center starts shall be generated for centers of the aligned shape. More...
 
bool genForAlignedShapeCenters () const
 Tells whether element-/color-center starts are generated for centers of the aligned shape. More...
 
void genForReferenceShapeCenters (bool generate)
 Specifies whether element-/color-center starts shall be generated for centers of the reference shape. More...
 
bool genForReferenceShapeCenters () const
 Tells whether element-/color-center starts are generated for centers of the reference shape. More...
 
void genForLargerShapeCenters (bool generate)
 Specifies whether element-/color-center starts shall be generated for centers of the shape with more elements (instead of both shapes). More...
 
bool genForLargerShapeCenters () const
 Tells whether element-/color-center starts are generated for centers of the shape with more elements (instead of both shapes). More...
 
void setSymmetryThreshold (double thresh)
 Sets the relative threshold for treating two principal moments as equal. More...
 
double getSymmetryThreshold ()
 Returns the currently configured symmetry threshold. More...
 
void setMaxRandomTranslation (double max_trans)
 Sets the maximum random translation magnitude applied to random starts. More...
 
double getMaxRandomTranslation () const
 Returns the currently configured maximum random translation. More...
 
void setNumRandomStarts (std::size_t num_starts)
 Sets the number of random starting transformations. More...
 
std::size_t getNumRandomStarts () const
 Returns the currently configured number of random starts. More...
 
void setRandomSeed (unsigned int seed)
 Sets the seed used by the random number generator that produces the random starts. More...
 
bool align (const GaussianShape &shape)
 Aligns shape against all reference shapes. More...
 
bool align (const GaussianShapeSet &shapes)
 Aligns each shape in shapes against all reference shapes. More...
 
std::size_t getNumResults () const
 Returns the number of stored alignment results. More...
 
const AlignmentResultgetResult (std::size_t idx) const
 Returns the alignment result at index idx. More...
 
AlignmentResultgetResult (std::size_t idx)
 Returns the alignment result at index idx. More...
 
ConstResultIterator getResultsBegin () const
 Returns a constant iterator pointing to the first alignment result. More...
 
ConstResultIterator getResultsEnd () const
 Returns a constant iterator pointing one past the last alignment result. More...
 
ResultIterator getResultsBegin ()
 Returns a mutable iterator pointing to the first alignment result. More...
 
ResultIterator getResultsEnd ()
 Returns a mutable iterator pointing one past the last alignment result. More...
 
ConstResultIterator begin () const
 Returns a constant iterator pointing to the first alignment result (range-based for support). More...
 
ConstResultIterator end () const
 Returns a constant iterator pointing one past the last alignment result (range-based for support). More...
 
ResultIterator begin ()
 Returns a mutable iterator pointing to the first alignment result (range-based for support). More...
 
ResultIterator end ()
 Returns a mutable iterator pointing one past the last alignment result (range-based for support). More...
 

Static Public Attributes

static constexpr double DEF_OPTIMIZATION_STOP_GRADIENT = 1.0
 Default gradient norm at which the overlap optimization is stopped. More...
 
static constexpr std::size_t DEF_MAX_OPTIMIZATION_ITERATIONS = 20
 Default maximum number of overlap-optimization iterations. More...
 
static constexpr unsigned int DEF_RESULT_SELECTION_MODE = AlignmentResultSelectionMode::BEST_PER_REFERENCE_SET
 Default alignment-result selection mode. More...
 
static constexpr double DEF_SYMMETRY_THRESHOLD = 0.15
 Default relative threshold for treating two principal moments as equal. More...
 
static constexpr std::size_t DEF_NUM_RANDOM_STARTS = 4
 Default number of random starting transformations. More...
 
static constexpr double DEF_MAX_RANDOM_TRANSLATION = 2.0
 Default maximum random translation magnitude applied to random starts. More...
 

Detailed Description

High-level driver for the fast alignment of Gaussian shapes against a set of reference shapes.

Unlike Shape::GaussianShapeAlignment, which delegates the alignment to a separate Shape::GaussianShapeFunctionAlignment instance, FastGaussianShapeAlignment integrates the entire pipeline (start-transform generation, BFGS overlap optimization, result selection) into one class and operates on a self-contained Gaussian-product representation. The configuration combines settings exposed by Shape::PrincipalAxesAlignmentStartGenerator (start-transform options) and the iterative overlap optimization.

Member Typedef Documentation

◆ SharedPointer

A reference-counted smart pointer [SHPTR] for dynamically allocated FastGaussianShapeAlignment instances.

◆ ConstResultIterator

A constant iterator over the alignment results.

◆ ResultIterator

A mutable iterator over the alignment results.

◆ ScoringFunction

Type of the function used to score an alignment result.

◆ ResultCompareFunction

Type of the function used to compare two alignment results.

Constructor & Destructor Documentation

◆ FastGaussianShapeAlignment() [1/4]

CDPL::Shape::FastGaussianShapeAlignment::FastGaussianShapeAlignment ( )

Constructs the FastGaussianShapeAlignment instance.

◆ FastGaussianShapeAlignment() [2/4]

CDPL::Shape::FastGaussianShapeAlignment::FastGaussianShapeAlignment ( const GaussianShape ref_shape)

Constructs the FastGaussianShapeAlignment instance with ref_shape as the single reference shape.

Parameters
ref_shapeThe reference shape.

◆ FastGaussianShapeAlignment() [3/4]

CDPL::Shape::FastGaussianShapeAlignment::FastGaussianShapeAlignment ( const GaussianShapeSet ref_shapes)

Constructs the FastGaussianShapeAlignment instance with the shapes in ref_shapes as the reference set.

Parameters
ref_shapesThe reference shapes.

◆ FastGaussianShapeAlignment() [4/4]

CDPL::Shape::FastGaussianShapeAlignment::FastGaussianShapeAlignment ( const FastGaussianShapeAlignment alignment)
delete

◆ ~FastGaussianShapeAlignment()

CDPL::Shape::FastGaussianShapeAlignment::~FastGaussianShapeAlignment ( )

Destructor.

Member Function Documentation

◆ operator=()

FastGaussianShapeAlignment& CDPL::Shape::FastGaussianShapeAlignment::operator= ( const FastGaussianShapeAlignment alignment)
delete

◆ setResultCompareFunction()

void CDPL::Shape::FastGaussianShapeAlignment::setResultCompareFunction ( const ResultCompareFunction func)

Specifies the function used to compare two alignment results for sorting and filtering.

Parameters
funcThe result-compare function.

◆ getResultCompareFunction()

const ResultCompareFunction& CDPL::Shape::FastGaussianShapeAlignment::getResultCompareFunction ( ) const

Returns the currently configured result-compare function.

Returns
A const reference to the result-compare function.

◆ setScoringFunction()

void CDPL::Shape::FastGaussianShapeAlignment::setScoringFunction ( const ScoringFunction func)

Specifies the function used to score an alignment result.

Parameters
funcThe scoring function.

◆ getScoringFunction()

const ScoringFunction& CDPL::Shape::FastGaussianShapeAlignment::getScoringFunction ( ) const

Returns the currently configured scoring function.

Returns
A const reference to the scoring function.

◆ setResultSelectionMode()

void CDPL::Shape::FastGaussianShapeAlignment::setResultSelectionMode ( unsigned int  mode)

Sets the alignment-result selection mode (see namespace Shape::AlignmentResultSelectionMode).

Parameters
modeThe new result-selection mode.

◆ getResultSelectionMode()

unsigned int CDPL::Shape::FastGaussianShapeAlignment::getResultSelectionMode ( ) const

Returns the currently configured alignment-result selection mode.

Returns
The result-selection mode (see namespace Shape::AlignmentResultSelectionMode).

◆ performAlignment() [1/2]

void CDPL::Shape::FastGaussianShapeAlignment::performAlignment ( bool  perf_align)

Specifies whether the actual alignment shall be performed (vs. only evaluating overlaps in the initial pose).

Parameters
perf_aligntrue to perform the alignment, and false to only evaluate the initial pose.

◆ performAlignment() [2/2]

bool CDPL::Shape::FastGaussianShapeAlignment::performAlignment ( ) const

Tells whether the actual alignment is performed.

Returns
true if the alignment is performed, and false otherwise.

◆ optimizeOverlap() [1/2]

void CDPL::Shape::FastGaussianShapeAlignment::optimizeOverlap ( bool  optimize)

Specifies whether the overlap shall be optimized iteratively after the initial alignment.

Parameters
optimizetrue to optimize the overlap, and false to skip optimization.

◆ optimizeOverlap() [2/2]

bool CDPL::Shape::FastGaussianShapeAlignment::optimizeOverlap ( ) const

Tells whether the overlap is optimized iteratively.

Returns
true if the overlap is optimized, and false otherwise.

◆ greedyOptimization() [1/2]

void CDPL::Shape::FastGaussianShapeAlignment::greedyOptimization ( bool  greedy)

Specifies whether the overlap optimization shall use a greedy strategy that stops at the first local maximum.

Parameters
greedytrue to use the greedy strategy, and false to use the full optimization.

◆ greedyOptimization() [2/2]

bool CDPL::Shape::FastGaussianShapeAlignment::greedyOptimization ( ) const

Tells whether the overlap optimization uses a greedy strategy.

Returns
true if the greedy strategy is used, and false otherwise.

◆ setMaxNumOptimizationIterations()

void CDPL::Shape::FastGaussianShapeAlignment::setMaxNumOptimizationIterations ( std::size_t  max_iter)

Sets the maximum number of overlap-optimization iterations.

Parameters
max_iterThe new maximum number of iterations.

◆ getMaxNumOptimizationIterations()

std::size_t CDPL::Shape::FastGaussianShapeAlignment::getMaxNumOptimizationIterations ( ) const

Returns the currently configured maximum number of overlap-optimization iterations.

Returns
The maximum number of iterations.

◆ setOptimizationStopGradient()

void CDPL::Shape::FastGaussianShapeAlignment::setOptimizationStopGradient ( double  grad_norm)

Sets the gradient norm at which the overlap optimization is stopped.

Parameters
grad_normThe new stop gradient norm.

◆ getOptimizationStopGradient()

double CDPL::Shape::FastGaussianShapeAlignment::getOptimizationStopGradient ( ) const

Returns the currently configured overlap-optimization stop gradient.

Returns
The stop gradient norm.

◆ clearReferenceShapes()

void CDPL::Shape::FastGaussianShapeAlignment::clearReferenceShapes ( )

Removes all reference shapes and reference shape sets.

◆ addReferenceShape()

void CDPL::Shape::FastGaussianShapeAlignment::addReferenceShape ( const GaussianShape shape,
bool  new_set = true 
)

Adds shape to the reference shapes.

Parameters
shapeThe reference shape.
new_setIf true, shape is added to a new reference set; otherwise it is appended to the most recent reference set.

◆ addReferenceShapes()

void CDPL::Shape::FastGaussianShapeAlignment::addReferenceShapes ( const GaussianShapeSet shapes,
bool  new_set = true 
)

Adds the shapes in shapes to the reference shapes.

Parameters
shapesThe reference shapes.
new_setIf true, the shapes are added to a new reference set; otherwise they are appended to the most recent reference set.

◆ getNumReferenceShapes()

std::size_t CDPL::Shape::FastGaussianShapeAlignment::getNumReferenceShapes ( ) const

Returns the total number of reference shapes.

Returns
The number of reference shapes.

◆ genShapeCenterStarts() [1/2]

void CDPL::Shape::FastGaussianShapeAlignment::genShapeCenterStarts ( bool  generate)

Enables or disables the generation of a starting transformation at the shape centroid.

Parameters
generatetrue to enable the shape-centroid start, and false to disable it.

◆ genShapeCenterStarts() [2/2]

bool CDPL::Shape::FastGaussianShapeAlignment::genShapeCenterStarts ( ) const

Tells whether a starting transformation at the shape centroid is generated.

Returns
true if a shape-centroid start is generated, and false otherwise.

◆ genColorCenterStarts() [1/2]

void CDPL::Shape::FastGaussianShapeAlignment::genColorCenterStarts ( bool  generate)

Enables or disables the generation of starting transformations at color (pharmacophore) feature centers.

Parameters
generatetrue to enable the color-center starts, and false to disable them.

◆ genColorCenterStarts() [2/2]

bool CDPL::Shape::FastGaussianShapeAlignment::genColorCenterStarts ( ) const

Tells whether starting transformations at color (pharmacophore) feature centers are generated.

Returns
true if color-center starts are generated, and false otherwise.

◆ genNonColorCenterStarts() [1/2]

void CDPL::Shape::FastGaussianShapeAlignment::genNonColorCenterStarts ( bool  generate)

Enables or disables the generation of starting transformations at non-color (shape) element centers.

Parameters
generatetrue to enable the non-color-center starts, and false to disable them.

◆ genNonColorCenterStarts() [2/2]

bool CDPL::Shape::FastGaussianShapeAlignment::genNonColorCenterStarts ( ) const

Tells whether starting transformations at non-color (shape) element centers are generated.

Returns
true if non-color-center starts are generated, and false otherwise.

◆ genRandomStarts() [1/2]

void CDPL::Shape::FastGaussianShapeAlignment::genRandomStarts ( bool  generate)

Enables or disables the generation of random starting transformations.

Parameters
generatetrue to enable the random starts, and false to disable them.

◆ genRandomStarts() [2/2]

bool CDPL::Shape::FastGaussianShapeAlignment::genRandomStarts ( ) const

Tells whether random starting transformations are generated.

Returns
true if random starts are generated, and false otherwise.

◆ genForAlignedShapeCenters() [1/2]

void CDPL::Shape::FastGaussianShapeAlignment::genForAlignedShapeCenters ( bool  generate)

Specifies whether element-/color-center starts shall be generated for centers of the aligned shape.

Parameters
generatetrue to consider aligned-shape centers, and false to ignore them.

◆ genForAlignedShapeCenters() [2/2]

bool CDPL::Shape::FastGaussianShapeAlignment::genForAlignedShapeCenters ( ) const

Tells whether element-/color-center starts are generated for centers of the aligned shape.

Returns
true if aligned-shape centers are considered, and false otherwise.

◆ genForReferenceShapeCenters() [1/2]

void CDPL::Shape::FastGaussianShapeAlignment::genForReferenceShapeCenters ( bool  generate)

Specifies whether element-/color-center starts shall be generated for centers of the reference shape.

Parameters
generatetrue to consider reference-shape centers, and false to ignore them.

◆ genForReferenceShapeCenters() [2/2]

bool CDPL::Shape::FastGaussianShapeAlignment::genForReferenceShapeCenters ( ) const

Tells whether element-/color-center starts are generated for centers of the reference shape.

Returns
true if reference-shape centers are considered, and false otherwise.

◆ genForLargerShapeCenters() [1/2]

void CDPL::Shape::FastGaussianShapeAlignment::genForLargerShapeCenters ( bool  generate)

Specifies whether element-/color-center starts shall be generated for centers of the shape with more elements (instead of both shapes).

Parameters
generatetrue to use only the centers of the larger shape, and false to use the centers of all configured shapes.

◆ genForLargerShapeCenters() [2/2]

bool CDPL::Shape::FastGaussianShapeAlignment::genForLargerShapeCenters ( ) const

Tells whether element-/color-center starts are generated for centers of the shape with more elements (instead of both shapes).

Returns
true if only the centers of the larger shape are used, and false otherwise.

◆ setSymmetryThreshold()

void CDPL::Shape::FastGaussianShapeAlignment::setSymmetryThreshold ( double  thresh)

Sets the relative threshold for treating two principal moments as equal.

Parameters
threshThe new symmetry threshold.

◆ getSymmetryThreshold()

double CDPL::Shape::FastGaussianShapeAlignment::getSymmetryThreshold ( )

Returns the currently configured symmetry threshold.

Returns
The symmetry threshold.

◆ setMaxRandomTranslation()

void CDPL::Shape::FastGaussianShapeAlignment::setMaxRandomTranslation ( double  max_trans)

Sets the maximum random translation magnitude applied to random starts.

Parameters
max_transThe new maximum random translation magnitude.

◆ getMaxRandomTranslation()

double CDPL::Shape::FastGaussianShapeAlignment::getMaxRandomTranslation ( ) const

Returns the currently configured maximum random translation.

Returns
The maximum random translation magnitude.

◆ setNumRandomStarts()

void CDPL::Shape::FastGaussianShapeAlignment::setNumRandomStarts ( std::size_t  num_starts)

Sets the number of random starting transformations.

Parameters
num_startsThe new number of random starts.

◆ getNumRandomStarts()

std::size_t CDPL::Shape::FastGaussianShapeAlignment::getNumRandomStarts ( ) const

Returns the currently configured number of random starts.

Returns
The number of random starts.

◆ setRandomSeed()

void CDPL::Shape::FastGaussianShapeAlignment::setRandomSeed ( unsigned int  seed)

Sets the seed used by the random number generator that produces the random starts.

Parameters
seedThe new random seed.

◆ align() [1/2]

bool CDPL::Shape::FastGaussianShapeAlignment::align ( const GaussianShape shape)

Aligns shape against all reference shapes.

Parameters
shapeThe shape to align.
Returns
true if at least one alignment result was produced, and false otherwise.

◆ align() [2/2]

bool CDPL::Shape::FastGaussianShapeAlignment::align ( const GaussianShapeSet shapes)

Aligns each shape in shapes against all reference shapes.

Parameters
shapesThe shapes to align.
Returns
true if at least one alignment result was produced, and false otherwise.

◆ getNumResults()

std::size_t CDPL::Shape::FastGaussianShapeAlignment::getNumResults ( ) const

Returns the number of stored alignment results.

Returns
The number of alignment results.

◆ getResult() [1/2]

const AlignmentResult& CDPL::Shape::FastGaussianShapeAlignment::getResult ( std::size_t  idx) const

Returns the alignment result at index idx.

Parameters
idxThe zero-based result index.
Returns
A const reference to the result.
Exceptions
Base::IndexErrorif the number of results is zero or idx is not in the range [0, getNumResults() - 1].

◆ getResult() [2/2]

AlignmentResult& CDPL::Shape::FastGaussianShapeAlignment::getResult ( std::size_t  idx)

Returns the alignment result at index idx.

Parameters
idxThe zero-based result index.
Returns
A reference to the result.
Exceptions
Base::IndexErrorif the number of results is zero or idx is not in the range [0, getNumResults() - 1].

◆ getResultsBegin() [1/2]

ConstResultIterator CDPL::Shape::FastGaussianShapeAlignment::getResultsBegin ( ) const

Returns a constant iterator pointing to the first alignment result.

Returns
A constant iterator pointing to the first alignment result.

◆ getResultsEnd() [1/2]

ConstResultIterator CDPL::Shape::FastGaussianShapeAlignment::getResultsEnd ( ) const

Returns a constant iterator pointing one past the last alignment result.

Returns
A constant iterator pointing one past the last alignment result.

◆ getResultsBegin() [2/2]

ResultIterator CDPL::Shape::FastGaussianShapeAlignment::getResultsBegin ( )

Returns a mutable iterator pointing to the first alignment result.

Returns
A mutable iterator pointing to the first alignment result.

◆ getResultsEnd() [2/2]

ResultIterator CDPL::Shape::FastGaussianShapeAlignment::getResultsEnd ( )

Returns a mutable iterator pointing one past the last alignment result.

Returns
A mutable iterator pointing one past the last alignment result.

◆ begin() [1/2]

ConstResultIterator CDPL::Shape::FastGaussianShapeAlignment::begin ( ) const

Returns a constant iterator pointing to the first alignment result (range-based for support).

Returns
A constant iterator pointing to the first alignment result.

◆ end() [1/2]

ConstResultIterator CDPL::Shape::FastGaussianShapeAlignment::end ( ) const

Returns a constant iterator pointing one past the last alignment result (range-based for support).

Returns
A constant iterator pointing one past the last alignment result.

◆ begin() [2/2]

ResultIterator CDPL::Shape::FastGaussianShapeAlignment::begin ( )

Returns a mutable iterator pointing to the first alignment result (range-based for support).

Returns
A mutable iterator pointing to the first alignment result.

◆ end() [2/2]

ResultIterator CDPL::Shape::FastGaussianShapeAlignment::end ( )

Returns a mutable iterator pointing one past the last alignment result (range-based for support).

Returns
A mutable iterator pointing one past the last alignment result.

Member Data Documentation

◆ DEF_OPTIMIZATION_STOP_GRADIENT

constexpr double CDPL::Shape::FastGaussianShapeAlignment::DEF_OPTIMIZATION_STOP_GRADIENT = 1.0
staticconstexpr

Default gradient norm at which the overlap optimization is stopped.

◆ DEF_MAX_OPTIMIZATION_ITERATIONS

constexpr std::size_t CDPL::Shape::FastGaussianShapeAlignment::DEF_MAX_OPTIMIZATION_ITERATIONS = 20
staticconstexpr

Default maximum number of overlap-optimization iterations.

◆ DEF_RESULT_SELECTION_MODE

constexpr unsigned int CDPL::Shape::FastGaussianShapeAlignment::DEF_RESULT_SELECTION_MODE = AlignmentResultSelectionMode::BEST_PER_REFERENCE_SET
staticconstexpr

Default alignment-result selection mode.

◆ DEF_SYMMETRY_THRESHOLD

constexpr double CDPL::Shape::FastGaussianShapeAlignment::DEF_SYMMETRY_THRESHOLD = 0.15
staticconstexpr

Default relative threshold for treating two principal moments as equal.

◆ DEF_NUM_RANDOM_STARTS

constexpr std::size_t CDPL::Shape::FastGaussianShapeAlignment::DEF_NUM_RANDOM_STARTS = 4
staticconstexpr

Default number of random starting transformations.

◆ DEF_MAX_RANDOM_TRANSLATION

constexpr double CDPL::Shape::FastGaussianShapeAlignment::DEF_MAX_RANDOM_TRANSLATION = 2.0
staticconstexpr

Default maximum random translation magnitude applied to random starts.


The documentation for this class was generated from the following file: