Chemical Data Processing Library C++ API - Version 1.3.0
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< GaussianShapeAlignment > SharedPointer
 
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 (const GaussianShapeAlignment &alignment)=delete
 
 ~GaussianShapeAlignment ()
 
GaussianShapeAlignment & operator= (const GaussianShapeAlignment &alignment)=delete
 
void setOverlapFunction (GaussianShapeOverlapFunction &func)
 
GaussianShapeOverlapFunction & getOverlapFunction () const
 
const FastGaussianShapeOverlapFunction & getDefaultOverlapFunction () const
 
FastGaussianShapeOverlapFunction & getDefaultOverlapFunction ()
 
void setStartGenerator (GaussianShapeAlignmentStartGenerator &gen)
 
GaussianShapeAlignmentStartGenerator & getStartGenerator () const
 
const PrincipalAxesAlignmentStartGenerator & getDefaultStartGenerator () const
 
PrincipalAxesAlignmentStartGenerator & getDefaultStartGenerator ()
 
void setColorMatchFunction (const ColorMatchFunction &func)
 
const ColorMatchFunction & getColorMatchFunction () const
 
void setColorFilterFunction (const ColorFilterFunction &func)
 
const ColorFilterFunction & getColorFilterFunction () const
 
void setResultCompareFunction (const ResultCompareFunction &func)
 
const ResultCompareFunction & getResultCompareFunction () const
 
void setScoringFunction (const ScoringFunction &func)
 
const ScoringFunction & getScoringFunction () 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 GaussianShape & getReferenceShape (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 AlignmentResult & getResult (std::size_t idx) const
 
AlignmentResult & getResult (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/4]

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

◆ GaussianShapeAlignment() [2/4]

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

◆ GaussianShapeAlignment() [3/4]

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

◆ GaussianShapeAlignment() [4/4]

CDPL::Shape::GaussianShapeAlignment::GaussianShapeAlignment ( const GaussianShapeAlignment &  alignment)
delete

◆ ~GaussianShapeAlignment()

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

Member Function Documentation

◆ operator=()

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

◆ 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: