|
DGtal
1.5.beta
|
CBDR : Composition of Bijective Digitized Reflections,. More...
#include <DGtal/images/bijectiveRotations/CBDR.h>
Public Types | |
| typedef Reflection< TSpace, TInputValue > | DigitizedReflection |
| typedef std::vector< std::pair< std::vector< GAVector< TSpace > >, GAVector< TSpace > > > | BijectiveSearchTree |
Public Member Functions | |
| BOOST_CONCEPT_ASSERT ((concepts::CSpace< TSpace >)) | |
| Checking concepts. More... | |
| BOOST_STATIC_ASSERT ((TSpace::dimension==2)) | |
| BOOST_STATIC_ASSERT ((TOutputValue::dimension==2)) | |
| BOOST_STATIC_ASSERT ((TInputValue::dimension==2)) | |
| CBDR (const double theta, const typename TSpace::Point center, const size_t nbreflect, const size_t km, std::shared_ptr< Policy< TSpace, HyperRectDomain< TSpace >, CBDR_naiverotation< TSpace >>> policy, const bool precompute=true, const bool fast=true) | |
| std::shared_ptr< CBDR_naiverotation< TSpace > > | initCBDRVec () |
| void | set_angle (const double newAngle) |
| void | setPolicy (const std::shared_ptr< Policy< TSpace, HyperRectDomain< TSpace >, CBDR_naiverotation< TSpace >>> &newPolicy) |
| TOutputValue | operator() (const TInputValue &aInput) const |
| template<typename TImage > | |
| TImage | rotateImage (TImage img) const |
| std::string | tostring () const |
| TOutputValue | center () const |
Data Fields | |
| NBijectiveGenerator< TSpace, TInputValue > | nbijectiveGen |
| std::vector< BijectiveSearchTree > | vecBijectiveSearchTree |
| HyperRectDomain< TSpace > | my_domain |
| size_t | kmax |
| size_t | nbReflections |
| bool | usePrecomputedTable |
| bool | useFastTable |
| int | N |
| double | my_angle |
| number of sample rotation angle More... | |
| TOutputValue | my_center |
| std::shared_ptr< Policy< TSpace, HyperRectDomain< TSpace >, CBDR_naiverotation< TSpace > > > | my_policy |
| std::vector< CBDR_naiverotation< TSpace, TInputValue > > | fastCBDRTable |
| std::shared_ptr< CBDR_naiverotation< TSpace > > | my_cbdr |
Private Member Functions | |
| std::vector< CBDR_naiverotation< TSpace, TInputValue > > | loadFastOptimisedTable (const std::string &fastTableName) |
| load fast optimised table in case the table is found More... | |
| void | initcbdr_loadBijectiveReflectionSearchTree (const HyperRectDomain< TSpace > &my_domain) |
| std::vector< CBDR_naiverotation< TSpace, TInputValue > > | initFastPrecomputationTable (const HyperRectDomain< TSpace > &points, NBijectiveGenerator< TSpace > &nbijectiveVectors, std::vector< BijectiveSearchTree > &vecBijectiveSearchTree) |
Private Attributes | |
| bool | fastTableFound |
CBDR : Composition of Bijective Digitized Reflections,.
Description of template struct CBDR
| TSpace | a 2 dimensional space. |
| TInputValue | type of the input point e.g., TSpace::RealPoint. |
| TOutputValue | type of the output point e.g., TSpace::Point |
| typedef std::vector<std::pair<std::vector<GAVector<TSpace> >,GAVector<TSpace> > > DGtal::CBDR< TSpace, TInputValue, TOutputValue >::BijectiveSearchTree |
| typedef Reflection<TSpace,TInputValue> DGtal::CBDR< TSpace, TInputValue, TOutputValue >::DigitizedReflection |
|
inline |
CBDR Constructor.
| theta | the angle given in radians. |
| center | the center of rotation. |
| nbreflect | the number of composition of bjijective reflections applied (2,4) |
| km | conditions the number of bijective reflection normal vectors |
| policy | either Linf, L2, Lcontinuity, see Policy |
| precompute | use precomputed table of the sorted bijective composition of bijective digitized reflections |
| fast | use the table that stores for each angle the composition that minimised the Linf metric distorsion |
Definition at line 79 of file CBDR.h.
| DGtal::CBDR< TSpace, TInputValue, TOutputValue >::BOOST_CONCEPT_ASSERT | ( | (concepts::CSpace< TSpace >) | ) |
Checking concepts.
| DGtal::CBDR< TSpace, TInputValue, TOutputValue >::BOOST_STATIC_ASSERT | ( | (TInputValue::dimension==2) | ) |
| DGtal::CBDR< TSpace, TInputValue, TOutputValue >::BOOST_STATIC_ASSERT | ( | (TOutputValue::dimension==2) | ) |
| DGtal::CBDR< TSpace, TInputValue, TOutputValue >::BOOST_STATIC_ASSERT | ( | (TSpace::dimension==2) | ) |
|
inline |
Definition at line 145 of file CBDR.h.
References DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_center.
|
private |
Definition at line 188 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec().
|
inline |
solver part
solver part
Definition at line 88 of file CBDR.h.
References DGtal::CBDR< TSpace, TInputValue, TOutputValue >::fastCBDRTable, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::fastTableFound, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initcbdr_loadBijectiveReflectionSearchTree(), DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initFastPrecomputationTable(), DGtal::CBDR< TSpace, TInputValue, TOutputValue >::kmax, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::loadFastOptimisedTable(), DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_angle, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_center, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_domain, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_policy, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::N, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::nbijectiveGen, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::nbReflections, DGtal::CBDRFastSolver< TSpace, TDomain >::solve(), DGtal::CBDRSolver< TSpace, TDomain >::solve(), DGtal::CBDR< TSpace, TInputValue, TOutputValue >::useFastTable, and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::vecBijectiveSearchTree.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::setPolicy().
|
private |
Definition at line 217 of file CBDR.h.
References DGtal::CBDRSolver< TSpace, TDomain >::solve().
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec().
|
private |
load fast optimised table in case the table is found
Definition at line 178 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec().
|
inline |
Definition at line 130 of file CBDR.h.
References DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_cbdr, and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_center.
|
inline |
Definition at line 136 of file CBDR.h.
References DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_cbdr.
|
inline |
Definition at line 111 of file CBDR.h.
References DGtal::CBDR< TSpace, TInputValue, TOutputValue >::fastCBDRTable, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::fastTableFound, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::kmax, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_angle, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_cbdr, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_center, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_domain, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_policy, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::N, DGtal::CBDR< TSpace, TInputValue, TOutputValue >::nbijectiveGen, DGtal::CBDRFastSolver< TSpace, TDomain >::solve(), DGtal::CBDRSolver< TSpace, TDomain >::solve(), and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::vecBijectiveSearchTree.
|
inline |
Definition at line 123 of file CBDR.h.
References DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec(), DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_cbdr, and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_policy.
|
inline |
| std::vector<CBDR_naiverotation<TSpace,TInputValue> > DGtal::CBDR< TSpace, TInputValue, TOutputValue >::fastCBDRTable |
Definition at line 160 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec(), and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::set_angle().
|
private |
Definition at line 165 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec(), and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::set_angle().
| size_t DGtal::CBDR< TSpace, TInputValue, TOutputValue >::kmax |
Definition at line 152 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec(), and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::set_angle().
| double DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_angle |
number of sample rotation angle
Definition at line 157 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec(), and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::set_angle().
| std::shared_ptr<CBDR_naiverotation<TSpace> > DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_cbdr |
Definition at line 161 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::operator()(), DGtal::CBDR< TSpace, TInputValue, TOutputValue >::rotateImage(), DGtal::CBDR< TSpace, TInputValue, TOutputValue >::set_angle(), and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::setPolicy().
| TOutputValue DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_center |
Definition at line 158 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::center(), DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec(), DGtal::CBDR< TSpace, TInputValue, TOutputValue >::operator()(), and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::set_angle().
| HyperRectDomain<TSpace> DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_domain |
Definition at line 150 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec(), and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::set_angle().
| std::shared_ptr<Policy<TSpace,HyperRectDomain< TSpace>,CBDR_naiverotation<TSpace> > > DGtal::CBDR< TSpace, TInputValue, TOutputValue >::my_policy |
Definition at line 159 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec(), DGtal::CBDR< TSpace, TInputValue, TOutputValue >::set_angle(), and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::setPolicy().
| int DGtal::CBDR< TSpace, TInputValue, TOutputValue >::N |
Definition at line 156 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec(), and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::set_angle().
| NBijectiveGenerator<TSpace,TInputValue> DGtal::CBDR< TSpace, TInputValue, TOutputValue >::nbijectiveGen |
Definition at line 148 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec(), and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::set_angle().
| size_t DGtal::CBDR< TSpace, TInputValue, TOutputValue >::nbReflections |
Definition at line 153 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec().
| bool DGtal::CBDR< TSpace, TInputValue, TOutputValue >::useFastTable |
Definition at line 155 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec().
| bool DGtal::CBDR< TSpace, TInputValue, TOutputValue >::usePrecomputedTable |
| std::vector<BijectiveSearchTree> DGtal::CBDR< TSpace, TInputValue, TOutputValue >::vecBijectiveSearchTree |
Definition at line 149 of file CBDR.h.
Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec(), and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::set_angle().