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::FastGaussianShapeAlignment Class Reference

#include <FastGaussianShapeAlignment.hpp>

Public Types

typedef std::shared_ptr< FastGaussianShapeAlignmentSharedPointer
 
typedef ResultList::const_iterator ConstResultIterator
 
typedef ResultList::iterator ResultIterator
 
typedef std::function< double(const AlignmentResult &)> ScoringFunction
 
typedef std::function< bool(const AlignmentResult &, const AlignmentResult &)> ResultCompareFunction
 

Public Member Functions

 FastGaussianShapeAlignment ()
 
 FastGaussianShapeAlignment (const GaussianShape &ref_shape)
 
 FastGaussianShapeAlignment (const GaussianShapeSet &ref_shapes)
 
 ~FastGaussianShapeAlignment ()
 
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 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 clearReferenceShapes ()
 
void addReferenceShape (const GaussianShape &shape, bool new_set=true)
 
void addReferenceShapes (const GaussianShapeSet &shapes, bool new_set=true)
 
std::size_t getNumReferenceShapes () const
 
void genShapeCenterStarts (bool generate)
 
bool genShapeCenterStarts () const
 
void genColorCenterStarts (bool generate)
 
bool genColorCenterStarts () const
 
void genNonColorCenterStarts (bool generate)
 
bool genNonColorCenterStarts () const
 
void genRandomStarts (bool generate)
 
bool genRandomStarts () const
 
void genForAlignedShapeCenters (bool generate)
 
bool genForAlignedShapeCenters () const
 
void genForReferenceShapeCenters (bool generate)
 
bool genForReferenceShapeCenters () const
 
void genForLargerShapeCenters (bool generate)
 
bool genForLargerShapeCenters () const
 
void setSymmetryThreshold (double thresh)
 
double getSymmetryThreshold ()
 
void setMaxRandomTranslation (double max_trans)
 
double getMaxRandomTranslation () const
 
void setNumRandomStarts (std::size_t num_starts)
 
std::size_t getNumRandomStarts () const
 
void setRandomSeed (unsigned int seed)
 
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 ()
 
ConstResultIterator begin () const
 
ConstResultIterator end () const
 
ResultIterator begin ()
 
ResultIterator end ()
 

Static Public Attributes

static constexpr double DEF_OPTIMIZATION_STOP_GRADIENT = 1.0
 
static constexpr std::size_t DEF_MAX_OPTIMIZATION_ITERATIONS = 20
 
static constexpr unsigned int DEF_RESULT_SELECTION_MODE = AlignmentResultSelectionMode::BEST_PER_REFERENCE_SET
 
static constexpr double DEF_SYMMETRY_THRESHOLD = 0.15
 
static constexpr std::size_t DEF_NUM_RANDOM_STARTS = 4
 
static constexpr double DEF_MAX_RANDOM_TRANSLATION = 2.0
 

Member Typedef Documentation

◆ SharedPointer

◆ ConstResultIterator

◆ ResultIterator

◆ ScoringFunction

◆ ResultCompareFunction

Constructor & Destructor Documentation

◆ FastGaussianShapeAlignment() [1/3]

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

◆ FastGaussianShapeAlignment() [2/3]

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

◆ FastGaussianShapeAlignment() [3/3]

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

◆ ~FastGaussianShapeAlignment()

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

Member Function Documentation

◆ setResultCompareFunction()

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

◆ getResultCompareFunction()

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

◆ setScoringFunction()

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

◆ getScoringFunction()

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

◆ setResultSelectionMode()

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

◆ getResultSelectionMode()

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

◆ performAlignment() [1/2]

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

◆ performAlignment() [2/2]

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

◆ optimizeOverlap() [1/2]

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

◆ optimizeOverlap() [2/2]

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

◆ greedyOptimization() [1/2]

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

◆ greedyOptimization() [2/2]

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

◆ setMaxNumOptimizationIterations()

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

◆ getMaxNumOptimizationIterations()

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

◆ setOptimizationStopGradient()

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

◆ getOptimizationStopGradient()

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

◆ clearReferenceShapes()

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

◆ addReferenceShape()

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

◆ addReferenceShapes()

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

◆ getNumReferenceShapes()

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

◆ genShapeCenterStarts() [1/2]

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

◆ genShapeCenterStarts() [2/2]

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

◆ genColorCenterStarts() [1/2]

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

◆ genColorCenterStarts() [2/2]

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

◆ genNonColorCenterStarts() [1/2]

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

◆ genNonColorCenterStarts() [2/2]

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

◆ genRandomStarts() [1/2]

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

◆ genRandomStarts() [2/2]

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

◆ genForAlignedShapeCenters() [1/2]

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

◆ genForAlignedShapeCenters() [2/2]

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

◆ genForReferenceShapeCenters() [1/2]

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

◆ genForReferenceShapeCenters() [2/2]

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

◆ genForLargerShapeCenters() [1/2]

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

◆ genForLargerShapeCenters() [2/2]

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

◆ setSymmetryThreshold()

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

◆ getSymmetryThreshold()

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

◆ setMaxRandomTranslation()

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

◆ getMaxRandomTranslation()

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

◆ setNumRandomStarts()

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

◆ getNumRandomStarts()

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

◆ setRandomSeed()

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

◆ align() [1/2]

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

◆ align() [2/2]

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

◆ getNumResults()

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

◆ getResult() [1/2]

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

◆ getResult() [2/2]

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

◆ getResultsBegin() [1/2]

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

◆ getResultsEnd() [1/2]

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

◆ getResultsBegin() [2/2]

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

◆ getResultsEnd() [2/2]

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

◆ begin() [1/2]

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

◆ end() [1/2]

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

◆ begin() [2/2]

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

◆ end() [2/2]

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

Member Data Documentation

◆ DEF_OPTIMIZATION_STOP_GRADIENT

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

◆ DEF_MAX_OPTIMIZATION_ITERATIONS

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

◆ DEF_RESULT_SELECTION_MODE

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

◆ DEF_SYMMETRY_THRESHOLD

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

◆ DEF_NUM_RANDOM_STARTS

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

◆ DEF_MAX_RANDOM_TRANSLATION

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

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