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

#include <GaussianShapeAlignment.hpp>

Public Types

typedef std::shared_ptr< GaussianShapeAlignmentSharedPointer
 
typedef ResultList::const_iterator ConstResultIterator
 
typedef ResultList::iterator ResultIterator
 
typedef boost::transform_iterator< GetShapeFunction, ShapeFunctionList::const_iterator > ConstShapeIterator
 
typedef GaussianShapeFunctionAlignment::ColorFilterFunction ColorFilterFunction
 
typedef GaussianShapeFunctionAlignment::ColorMatchFunction ColorMatchFunction
 
typedef std::function< double(const AlignmentResult &)> ScoringFunction
 
typedef std::function< bool(const AlignmentResult &, const AlignmentResult &)> ResultCompareFunction
 

Public Member Functions

 GaussianShapeAlignment ()
 
 GaussianShapeAlignment (const GaussianShape &ref_shape)
 
 GaussianShapeAlignment (const GaussianShapeSet &ref_shapes)
 
 ~GaussianShapeAlignment ()
 
void setOverlapFunction (GaussianShapeOverlapFunction &func)
 
GaussianShapeOverlapFunctiongetOverlapFunction () const
 
const FastGaussianShapeOverlapFunctiongetDefaultOverlapFunction () const
 
FastGaussianShapeOverlapFunctiongetDefaultOverlapFunction ()
 
void setStartGenerator (GaussianShapeAlignmentStartGenerator &gen)
 
GaussianShapeAlignmentStartGeneratorgetStartGenerator () const
 
const PrincipalAxesAlignmentStartGeneratorgetDefaultStartGenerator () const
 
PrincipalAxesAlignmentStartGeneratorgetDefaultStartGenerator ()
 
void setColorMatchFunction (const ColorMatchFunction &func)
 
const ColorMatchFunctiongetColorMatchFunction () const
 
void setColorFilterFunction (const ColorFilterFunction &func)
 
const ColorFilterFunctiongetColorFilterFunction () const
 
void setResultCompareFunction (const ResultCompareFunction &func)
 
const ResultCompareFunctiongetResultCompareFunction () const
 
void setScoringFunction (const ScoringFunction &func)
 
const ScoringFunctiongetScoringFunction () const
 
void setResultSelectionMode (unsigned int mode)
 
unsigned int getResultSelectionMode () const
 
void calcSelfOverlaps (bool calc)
 
bool calcSelfOverlaps () const
 
void calcColorSelfOverlaps (bool calc)
 
bool calcColorSelfOverlaps () const
 
void calcColorOverlaps (bool calc)
 
bool calcColorOverlaps () const
 
void performAlignment (bool perf_align)
 
bool performAlignment () const
 
void optimizeOverlap (bool optimize)
 
bool optimizeOverlap () const
 
void greedyOptimization (bool greedy)
 
bool greedyOptimization () const
 
void setMaxNumOptimizationIterations (std::size_t max_iter)
 
std::size_t getMaxNumOptimizationIterations () const
 
void setOptimizationStopGradient (double grad_norm)
 
double getOptimizationStopGradient () const
 
void setMaxOrder (std::size_t max_order)
 
std::size_t getMaxOrder () const
 
void setDistanceCutoff (double cutoff)
 
double getDistanceCutoff () const
 
void clearReferenceShapes ()
 
void addReferenceShape (const GaussianShape &shape, bool new_set=true)
 
void addReferenceShapes (const GaussianShapeSet &shapes, bool new_set=true)
 
std::size_t getNumReferenceShapes () const
 
const GaussianShapegetReferenceShape (std::size_t idx) const
 
ConstShapeIterator getReferenceShapesBegin () const
 
ConstShapeIterator getReferenceShapesEnd () const
 
bool align (const GaussianShape &shape)
 
bool align (const GaussianShapeSet &shapes)
 
std::size_t getNumResults () const
 
const AlignmentResultgetResult (std::size_t idx) const
 
AlignmentResultgetResult (std::size_t idx)
 
ConstResultIterator getResultsBegin () const
 
ConstResultIterator getResultsEnd () const
 
ResultIterator getResultsBegin ()
 
ResultIterator getResultsEnd ()
 

Static Public Attributes

static constexpr double DEF_OPTIMIZATION_STOP_GRADIENT = 1.0
 
static constexpr std::size_t DEF_MAX_OPTIMIZATION_ITERATIONS = 20
 
static constexpr std::size_t DEF_MAX_PRODUCT_ORDER = 1
 
static constexpr unsigned int DEF_RESULT_SELECTION_MODE = AlignmentResultSelectionMode::BEST_PER_REFERENCE_SET
 
static constexpr double DEF_DISTANCE_CUTOFF = 0.0
 

Member Typedef Documentation

◆ SharedPointer

◆ ConstResultIterator

◆ ResultIterator

◆ ConstShapeIterator

typedef boost::transform_iterator<GetShapeFunction, ShapeFunctionList::const_iterator> CDPL::Shape::GaussianShapeAlignment::ConstShapeIterator

◆ ColorFilterFunction

◆ ColorMatchFunction

◆ ScoringFunction

◆ ResultCompareFunction

Constructor & Destructor Documentation

◆ GaussianShapeAlignment() [1/3]

CDPL::Shape::GaussianShapeAlignment::GaussianShapeAlignment ( )

◆ GaussianShapeAlignment() [2/3]

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

◆ GaussianShapeAlignment() [3/3]

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

◆ ~GaussianShapeAlignment()

CDPL::Shape::GaussianShapeAlignment::~GaussianShapeAlignment ( )

Member Function Documentation

◆ setOverlapFunction()

void CDPL::Shape::GaussianShapeAlignment::setOverlapFunction ( GaussianShapeOverlapFunction func)

◆ getOverlapFunction()

GaussianShapeOverlapFunction& CDPL::Shape::GaussianShapeAlignment::getOverlapFunction ( ) const

◆ getDefaultOverlapFunction() [1/2]

const FastGaussianShapeOverlapFunction& CDPL::Shape::GaussianShapeAlignment::getDefaultOverlapFunction ( ) const

◆ getDefaultOverlapFunction() [2/2]

FastGaussianShapeOverlapFunction& CDPL::Shape::GaussianShapeAlignment::getDefaultOverlapFunction ( )

◆ setStartGenerator()

void CDPL::Shape::GaussianShapeAlignment::setStartGenerator ( GaussianShapeAlignmentStartGenerator gen)

◆ getStartGenerator()

GaussianShapeAlignmentStartGenerator& CDPL::Shape::GaussianShapeAlignment::getStartGenerator ( ) const

◆ getDefaultStartGenerator() [1/2]

const PrincipalAxesAlignmentStartGenerator& CDPL::Shape::GaussianShapeAlignment::getDefaultStartGenerator ( ) const

◆ getDefaultStartGenerator() [2/2]

PrincipalAxesAlignmentStartGenerator& CDPL::Shape::GaussianShapeAlignment::getDefaultStartGenerator ( )

◆ setColorMatchFunction()

void CDPL::Shape::GaussianShapeAlignment::setColorMatchFunction ( const ColorMatchFunction func)

◆ getColorMatchFunction()

const ColorMatchFunction& CDPL::Shape::GaussianShapeAlignment::getColorMatchFunction ( ) const

◆ setColorFilterFunction()

void CDPL::Shape::GaussianShapeAlignment::setColorFilterFunction ( const ColorFilterFunction func)

◆ getColorFilterFunction()

const ColorFilterFunction& CDPL::Shape::GaussianShapeAlignment::getColorFilterFunction ( ) const

◆ setResultCompareFunction()

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

◆ getResultCompareFunction()

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

◆ setScoringFunction()

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

◆ getScoringFunction()

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

◆ setResultSelectionMode()

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

◆ getResultSelectionMode()

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

◆ calcSelfOverlaps() [1/2]

void CDPL::Shape::GaussianShapeAlignment::calcSelfOverlaps ( bool  calc)

◆ calcSelfOverlaps() [2/2]

bool CDPL::Shape::GaussianShapeAlignment::calcSelfOverlaps ( ) const

◆ calcColorSelfOverlaps() [1/2]

void CDPL::Shape::GaussianShapeAlignment::calcColorSelfOverlaps ( bool  calc)

◆ calcColorSelfOverlaps() [2/2]

bool CDPL::Shape::GaussianShapeAlignment::calcColorSelfOverlaps ( ) const

◆ calcColorOverlaps() [1/2]

void CDPL::Shape::GaussianShapeAlignment::calcColorOverlaps ( bool  calc)

◆ calcColorOverlaps() [2/2]

bool CDPL::Shape::GaussianShapeAlignment::calcColorOverlaps ( ) const

◆ performAlignment() [1/2]

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

◆ performAlignment() [2/2]

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

◆ optimizeOverlap() [1/2]

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

◆ optimizeOverlap() [2/2]

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

◆ greedyOptimization() [1/2]

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

◆ greedyOptimization() [2/2]

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

◆ setMaxNumOptimizationIterations()

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

◆ getMaxNumOptimizationIterations()

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

◆ setOptimizationStopGradient()

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

◆ getOptimizationStopGradient()

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

◆ setMaxOrder()

void CDPL::Shape::GaussianShapeAlignment::setMaxOrder ( std::size_t  max_order)

◆ getMaxOrder()

std::size_t CDPL::Shape::GaussianShapeAlignment::getMaxOrder ( ) const

◆ setDistanceCutoff()

void CDPL::Shape::GaussianShapeAlignment::setDistanceCutoff ( double  cutoff)

◆ getDistanceCutoff()

double CDPL::Shape::GaussianShapeAlignment::getDistanceCutoff ( ) const

◆ clearReferenceShapes()

void CDPL::Shape::GaussianShapeAlignment::clearReferenceShapes ( )

◆ addReferenceShape()

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

◆ addReferenceShapes()

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

◆ getNumReferenceShapes()

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

◆ getReferenceShape()

const GaussianShape& CDPL::Shape::GaussianShapeAlignment::getReferenceShape ( std::size_t  idx) const

◆ getReferenceShapesBegin()

ConstShapeIterator CDPL::Shape::GaussianShapeAlignment::getReferenceShapesBegin ( ) const

◆ getReferenceShapesEnd()

ConstShapeIterator CDPL::Shape::GaussianShapeAlignment::getReferenceShapesEnd ( ) const

◆ align() [1/2]

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

◆ align() [2/2]

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

◆ getNumResults()

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

◆ getResult() [1/2]

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

◆ getResult() [2/2]

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

◆ getResultsBegin() [1/2]

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

◆ getResultsEnd() [1/2]

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

◆ getResultsBegin() [2/2]

ResultIterator CDPL::Shape::GaussianShapeAlignment::getResultsBegin ( )

◆ getResultsEnd() [2/2]

ResultIterator CDPL::Shape::GaussianShapeAlignment::getResultsEnd ( )

Member Data Documentation

◆ DEF_OPTIMIZATION_STOP_GRADIENT

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

◆ DEF_MAX_OPTIMIZATION_ITERATIONS

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

◆ DEF_MAX_PRODUCT_ORDER

constexpr std::size_t CDPL::Shape::GaussianShapeAlignment::DEF_MAX_PRODUCT_ORDER = 1
staticconstexpr

◆ DEF_RESULT_SELECTION_MODE

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

◆ DEF_DISTANCE_CUTOFF

constexpr double CDPL::Shape::GaussianShapeAlignment::DEF_DISTANCE_CUTOFF = 0.0
staticconstexpr

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