DGtal 2.0.0
Loading...
Searching...
No Matches
DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy > Class Template Reference

Aim: implements a tiled image from a "bigger/original" one from an ImageFactory. More...

#include <DGtal/images/TiledImage.h>

Data Structures

class  TiledIterator

Public Types

typedef TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy > Self
typedef TImageContainer ImageContainer
 Types copied from the container.
typedef ImageContainer::Domain Domain
typedef ImageContainer::Point Point
typedef ImageContainer::Value Value
typedef ImageContainer::Difference Difference
typedef TImageFactory ImageFactory
 Types.
typedef ImageFactory::OutputImage OutputImage
typedef TImageCacheReadPolicy ImageCacheReadPolicy
typedef TImageCacheWritePolicy ImageCacheWritePolicy
typedef ImageCache< OutputImage, ImageFactory, ImageCacheReadPolicy, ImageCacheWritePolicyMyImageCache
typedef TiledIterator ConstIterator
typedef TiledIterator OutputIterator
typedef boost::reverse_iterator< TiledIteratorReverseTiledIterator
typedef ReverseTiledIterator ConstReverseIterator
typedef ReverseTiledIterator ReverseOutputIterator
typedef TiledImageBidirectionalConstRangeFromPoint< TiledImageConstRange
typedef TiledImageBidirectionalRangeFromPoint< TiledImageRange

Public Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CImage< TImageContainer >))
 Checking concepts.
 BOOST_CONCEPT_ASSERT ((concepts::CImageFactory< TImageFactory >))
 BOOST_CONCEPT_ASSERT ((concepts::CImageCacheReadPolicy< TImageCacheReadPolicy >))
 BOOST_CONCEPT_ASSERT ((concepts::CImageCacheWritePolicy< TImageCacheWritePolicy >))
 TiledImage (Alias< ImageFactory > anImageFactory, Alias< ImageCacheReadPolicy > aReadPolicy, Alias< ImageCacheWritePolicy > aWritePolicy, typename Domain::Integer N)
 ~TiledImage ()
 TiledImage (const TiledImage &other)
TiledImageoperator= (const TiledImage &other)
const Domaindomain () const
const Domain domainBlockCoords () const
ConstIterator begin () const
OutputIterator begin ()
ConstIterator begin (const Point &aPoint) const
OutputIterator begin (const Point &aPoint)
ConstIterator end () const
OutputIterator end ()
ConstReverseIterator rbegin () const
ReverseOutputIterator rbegin ()
ConstReverseIterator rbegin (const Point &aPoint) const
ReverseOutputIterator rbegin (const Point &aPoint)
ConstReverseIterator rend () const
ConstReverseIterator rend ()
OutputIterator outputIterator ()
OutputIterator outputIterator (const Point &aPoint)
ReverseOutputIterator routputIterator ()
ReverseOutputIterator routputIterator (const Point &aPoint)
ConstRange constRange () const
Range range ()
void selfDisplay (std::ostream &out) const
bool isValid () const
const Domain findSubDomain (const Point &aPoint) const
const Point findBlockCoordsFromPoint (const Point &aPoint) const
const Domain findSubDomainFromBlockCoords (const Point &aCoord) const
ImageContainerfindTileFromBlockCoords (const Point &aCoord) const
Value operator() (const Point &aPoint) const
void setValue (const Point &aPoint, const Value &aValue)
unsigned int getCacheMissRead ()
unsigned int getCacheMissWrite ()
void clearCacheAndResetCacheMisses ()

Protected Attributes

Domain::Integer myN
 Number of tiles per dimension.
Point mySize
 Width of a tile (for each dimension)
ImageFactorymyImageFactory
 ImageFactory pointer.
MyImageCachemyImageCache
 ImageCache pointer.
Point m_lowerBound
 domain lower and upper bound
Point m_upperBound
TImageCacheReadPolicy * myReadPolicy
 TImageCacheReadPolicy pointer.
TImageCacheWritePolicy * myWritePolicy
 TImageCacheWritePolicy pointer.

Detailed Description

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
class DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >

Aim: implements a tiled image from a "bigger/original" one from an ImageFactory.

Description of template class 'TiledImage'

Template Parameters
TImageContaineran image container type (model of ).
TImageFactoryan image factory type (model of CImageFactory).
TImageCacheReadPolicyan image cache read policy class (model of CImageCacheReadPolicy).
TImageCacheWritePolicyan image cache write policy class (model of CImageCacheWritePolicy).
Note
It is important to take into account that read and write policies are passed as aliases in the TiledImage constructor, so for example, if two TiledImage instances are successively created with the same read policy instance, the state of the cache for a given time is therefore the same for the two TiledImage instances !
Examples
images/exampleImageFactoryFromHDF5.cpp, and images/exampleTiledImage.cpp.

Definition at line 78 of file TiledImage.h.

Member Typedef Documentation

◆ ConstIterator

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef TiledIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::ConstIterator

Definition at line 451 of file TiledImage.h.

◆ ConstRange

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef TiledImageBidirectionalConstRangeFromPoint<TiledImage > DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::ConstRange

Definition at line 559 of file TiledImage.h.

◆ ConstReverseIterator

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef ReverseTiledIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::ConstReverseIterator

Definition at line 455 of file TiledImage.h.

◆ Difference

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef ImageContainer::Difference DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::Difference

Definition at line 98 of file TiledImage.h.

◆ Domain

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef ImageContainer::Domain DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::Domain

Definition at line 94 of file TiledImage.h.

◆ ImageCacheReadPolicy

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef TImageCacheReadPolicy DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::ImageCacheReadPolicy

Definition at line 104 of file TiledImage.h.

◆ ImageCacheWritePolicy

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef TImageCacheWritePolicy DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::ImageCacheWritePolicy

Definition at line 105 of file TiledImage.h.

◆ ImageContainer

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef TImageContainer DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::ImageContainer

Types copied from the container.

Definition at line 93 of file TiledImage.h.

◆ ImageFactory

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef TImageFactory DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::ImageFactory

Types.

Definition at line 101 of file TiledImage.h.

◆ MyImageCache

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef ImageCache<OutputImage, ImageFactory, ImageCacheReadPolicy, ImageCacheWritePolicy > DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::MyImageCache

Definition at line 106 of file TiledImage.h.

◆ OutputImage

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef ImageFactory::OutputImage DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::OutputImage

Definition at line 102 of file TiledImage.h.

◆ OutputIterator

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef TiledIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::OutputIterator

Definition at line 452 of file TiledImage.h.

◆ Point

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef ImageContainer::Point DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::Point

Definition at line 95 of file TiledImage.h.

◆ Range

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef TiledImageBidirectionalRangeFromPoint<TiledImage > DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::Range

Definition at line 560 of file TiledImage.h.

◆ ReverseOutputIterator

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef ReverseTiledIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::ReverseOutputIterator

Definition at line 456 of file TiledImage.h.

◆ ReverseTiledIterator

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef boost::reverse_iterator<TiledIterator> DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::ReverseTiledIterator

Definition at line 454 of file TiledImage.h.

◆ Self

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef TiledImage<TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy> DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::Self

Definition at line 84 of file TiledImage.h.

◆ Value

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
typedef ImageContainer::Value DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::Value

Definition at line 96 of file TiledImage.h.

Constructor & Destructor Documentation

◆ TiledImage() [1/2]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::TiledImage ( Alias< ImageFactory > anImageFactory,
Alias< ImageCacheReadPolicy > aReadPolicy,
Alias< ImageCacheWritePolicy > aWritePolicy,
typename Domain::Integer N )
inline

Constructor.

Parameters
anImageFactoryalias on the image factory (see ImageFactoryFromImage or ImageFactoryFromHDF5).
aReadPolicyalias on a read policy.
aWritePolicyalias on a write policy.
Nhow many tiles we want for each dimension.

Definition at line 119 of file TiledImage.h.

122 :
124 {
126
127 m_lowerBound = myImageFactory->domain().lowerBound();
128 m_upperBound = myImageFactory->domain().upperBound();
129
130 for(typename DGtal::Dimension i=0; i<Domain::dimension; i++)
132 }
Aim: implements a tiled image from a "bigger/original" one from an ImageFactory.
Definition TiledImage.h:79
TImageCacheReadPolicy * myReadPolicy
TImageCacheReadPolicy pointer.
Definition TiledImage.h:801
ImageFactory * myImageFactory
ImageFactory pointer.
Definition TiledImage.h:792
MyImageCache * myImageCache
ImageCache pointer.
Definition TiledImage.h:795
Domain::Integer myN
Number of tiles per dimension.
Definition TiledImage.h:786
TImageCacheWritePolicy * myWritePolicy
TImageCacheWritePolicy pointer.
Definition TiledImage.h:804
ImageCache< OutputImage, ImageFactory, ImageCacheReadPolicy, ImageCacheWritePolicy > MyImageCache
Definition TiledImage.h:106
Point mySize
Width of a tile (for each dimension)
Definition TiledImage.h:789
Point m_lowerBound
domain lower and upper bound
Definition TiledImage.h:798

References m_lowerBound, m_upperBound, myImageCache, myImageFactory, myN, myReadPolicy, mySize, and myWritePolicy.

Referenced by operator=(), TiledImage(), DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::TiledIterator::TiledIterator(), and DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::TiledIterator::TiledIterator().

◆ ~TiledImage()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::~TiledImage ( )
inline

Destructor.

Definition at line 137 of file TiledImage.h.

138 {
139 delete myImageCache;
140 }

References myImageCache.

◆ TiledImage() [2/2]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::TiledImage ( const TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy > & other)
inline

Copy constructor.

Parameters
otherthe TiledImage to clone.

Definition at line 150 of file TiledImage.h.

151 {
152 myN = other.myN;
156
158
159 m_lowerBound = myImageFactory->domain().lowerBound();
160 m_upperBound = myImageFactory->domain().upperBound();
161
162 for(typename DGtal::Dimension i=0; i<Domain::dimension; i++)
164 }

References m_lowerBound, m_upperBound, myImageCache, myImageFactory, myN, myReadPolicy, mySize, myWritePolicy, and TiledImage().

Member Function Documentation

◆ begin() [1/4]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
OutputIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::begin ( )
inline

Definition at line 464 of file TiledImage.h.

465 {
466 return TiledIterator( this->domainBlockCoords().begin(), this );
467 }
ConstIterator begin() const
Definition TiledImage.h:459
const Domain domainBlockCoords() const
Definition TiledImage.h:212

References begin(), and domainBlockCoords().

◆ begin() [2/4]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
ConstIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::begin ( ) const
inline

Definition at line 459 of file TiledImage.h.

460 {
461 return TiledIterator( this->domainBlockCoords().begin(), this );
462 }

References begin(), and domainBlockCoords().

Referenced by begin(), begin(), begin(), begin(), outputIterator(), outputIterator(), rbegin(), rbegin(), rend(), and rend().

◆ begin() [3/4]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
OutputIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::begin ( const Point & aPoint)
inline

Definition at line 475 of file TiledImage.h.

476 {
478 return TiledIterator( this->domainBlockCoords().begin(coords), aPoint, this );
479 }
ImageContainer::Point Point
Definition TiledImage.h:95
const Point findBlockCoordsFromPoint(const Point &aPoint) const
Definition TiledImage.h:635

References aPoint, begin(), domainBlockCoords(), and findBlockCoordsFromPoint().

◆ begin() [4/4]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
ConstIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::begin ( const Point & aPoint) const
inline

Definition at line 469 of file TiledImage.h.

470 {
472 return TiledIterator( this->domainBlockCoords().begin(coords), aPoint, this );
473 }

References aPoint, begin(), domainBlockCoords(), and findBlockCoordsFromPoint().

◆ BOOST_CONCEPT_ASSERT() [1/4]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::BOOST_CONCEPT_ASSERT ( (concepts::CImage< TImageContainer >) )

Checking concepts.

◆ BOOST_CONCEPT_ASSERT() [2/4]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::BOOST_CONCEPT_ASSERT ( (concepts::CImageCacheReadPolicy< TImageCacheReadPolicy >) )

◆ BOOST_CONCEPT_ASSERT() [3/4]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::BOOST_CONCEPT_ASSERT ( (concepts::CImageCacheWritePolicy< TImageCacheWritePolicy >) )

◆ BOOST_CONCEPT_ASSERT() [4/4]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::BOOST_CONCEPT_ASSERT ( (concepts::CImageFactory< TImageFactory >) )

◆ clearCacheAndResetCacheMisses()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
void DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::clearCacheAndResetCacheMisses ( )
inline

Clear the cache and reset the cache misses

Definition at line 777 of file TiledImage.h.

778 {
779 myImageCache->clearCacheAndResetCacheMisses();
780 }

References myImageCache.

◆ constRange()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
ConstRange DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::constRange ( ) const
inline
Returns
the range providing begin and end iterators (with this) to scan the values of image.

Definition at line 566 of file TiledImage.h.

567 {
568 return ConstRange( this );
569 }
TiledImageBidirectionalConstRangeFromPoint< TiledImage > ConstRange
Definition TiledImage.h:559

◆ domain()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
const Domain & DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::domain ( ) const
inline

Returns a reference to the underlying image domain.

Returns
a reference to the domain.

Definition at line 202 of file TiledImage.h.

203 {
204 return myImageFactory->domain();
205 }

References myImageFactory.

◆ domainBlockCoords()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
const Domain DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::domainBlockCoords ( ) const
inline

Returns the block coords domain.

Returns
the block coords domain.

Definition at line 212 of file TiledImage.h.

213 {
215
216 for(typename DGtal::Dimension i=0; i<Domain::dimension; i++)
217 {
218 lowerBoundCords[i] = 0;
220
221 if (((m_upperBound[i]-m_lowerBound[i]+1) % myN) == 0)
223 }
224
226 }
ImageContainer::Domain Domain
Definition TiledImage.h:94

References m_lowerBound, m_upperBound, and myN.

Referenced by begin(), begin(), begin(), begin(), end(), end(), findSubDomainFromBlockCoords(), and findTileFromBlockCoords().

◆ end() [1/2]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
OutputIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::end ( )
inline

Definition at line 486 of file TiledImage.h.

487 {
488 return TiledIterator( this->domainBlockCoords().end(), this );
489 }
ConstIterator end() const
Definition TiledImage.h:481

References domainBlockCoords(), and end().

◆ end() [2/2]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
ConstIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::end ( ) const
inline

Definition at line 481 of file TiledImage.h.

482 {
483 return TiledIterator( this->domainBlockCoords().end(), this );
484 }

References domainBlockCoords(), and end().

Referenced by end(), end(), rbegin(), rbegin(), and routputIterator().

◆ findBlockCoordsFromPoint()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
const Point DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::findBlockCoordsFromPoint ( const Point & aPoint) const
inline

Get the block coords containing aPoint.

Parameters
aPointthe point.
Returns
the block coords containing aPoint.

Definition at line 635 of file TiledImage.h.

636 {
637 ASSERT(myImageFactory->domain().isInside(aPoint));
638
639 typename DGtal::Dimension i;
640
641 Point low;
642 for(i=0; i<Domain::dimension; i++)
643 {
644 /*if ( (aPoint[i]-m_lowerBound[i]) < mySize[i] )
645 low[i] = 0;
646 else*/
647 low[i] = (aPoint[i]-m_lowerBound[i])/mySize[i];
648 }
649
650 return low;
651 }

References aPoint, m_lowerBound, myImageFactory, and mySize.

Referenced by begin(), and begin().

◆ findSubDomain()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
const Domain DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::findSubDomain ( const Point & aPoint) const
inline

Get the domain containing aPoint.

Parameters
aPointthe point.
Returns
the domain containing aPoint.

Definition at line 603 of file TiledImage.h.

604 {
605 ASSERT(myImageFactory->domain().isInside(aPoint));
606
607 typename DGtal::Dimension i;
608
609 Point low;
610 for(i=0; i<Domain::dimension; i++)
611 {
612 low[i] = (aPoint[i]-m_lowerBound[i])/mySize[i];
613 }
614
615 Point dMin, dMax;
616 for(i=0; i<Domain::dimension; i++)
617 {
618 dMin[i] = (low[i]*mySize[i])+m_lowerBound[i];
619 dMax[i] = dMin[i] + (mySize[i]-1);
620
621 if (dMax[i] > m_upperBound[i]) // last tile
622 dMax[i] = m_upperBound[i];
623 }
624
625 Domain di(dMin, dMax);
626 return di;
627 }

References aPoint, m_lowerBound, m_upperBound, myImageFactory, and mySize.

Referenced by operator()(), and setValue().

◆ findSubDomainFromBlockCoords()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
const Domain DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::findSubDomainFromBlockCoords ( const Point & aCoord) const
inline

Get the domain with his block coords.

Parameters
aCoordthe block coords.
Returns
the domain.

Definition at line 659 of file TiledImage.h.

660 {
662
663 typename DGtal::Dimension i;
664
665 Point dMin, dMax;
666 for(i=0; i<Domain::dimension; i++)
667 {
669 dMax[i] = dMin[i] + (mySize[i]-1);
670
671 if (dMax[i] > m_upperBound[i]) // last tile
672 dMax[i] = m_upperBound[i];
673 }
674
675 Domain di(dMin, dMax);
676 return di;
677 }

References domainBlockCoords(), m_lowerBound, m_upperBound, and mySize.

Referenced by findTileFromBlockCoords().

◆ findTileFromBlockCoords()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
ImageContainer * DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::findTileFromBlockCoords ( const Point & aCoord) const
inline

Returns an ImageContainer pointer for the block coords aCoord.

Parameters
aCoordthe block coords.
Returns
an ImageContainer pointer.

Definition at line 685 of file TiledImage.h.

686 {
688
690 ImageContainer *tile = myImageCache->getPage(d);
691 if (!tile)
692 {
693 myImageCache->incCacheMissRead();
694 myImageCache->update(d);
695 tile = myImageCache->getPage(d);
696 }
697
698 return tile;
699 }
const Domain findSubDomainFromBlockCoords(const Point &aCoord) const
Definition TiledImage.h:659
TImageContainer ImageContainer
Types copied from the container.
Definition TiledImage.h:93

References domainBlockCoords(), findSubDomainFromBlockCoords(), and myImageCache.

◆ getCacheMissRead()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
unsigned int DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::getCacheMissRead ( )
inline

Get the cacheMissRead value.

Definition at line 761 of file TiledImage.h.

762 {
763 return myImageCache->getCacheMissRead();
764 }

References myImageCache.

◆ getCacheMissWrite()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
unsigned int DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::getCacheMissWrite ( )
inline

Get the cacheMissWrite value.

Definition at line 769 of file TiledImage.h.

770 {
771 return myImageCache->getCacheMissWrite();
772 }

References myImageCache.

◆ isValid()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
bool DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::isValid ( ) const
inline

Checks the validity/consistency of the object.

Returns
'true' if the object is valid, 'false' otherwise.

Definition at line 592 of file TiledImage.h.

593 {
594 return (myImageFactory->isValid() && myImageCache->isValid());
595 }

References myImageCache, and myImageFactory.

◆ operator()()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
Value DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::operator() ( const Point & aPoint) const
inline

Get the value of an image (from cache) at a given position given by aPoint.

Parameters
aPointthe point.
Returns
the value at aPoint.

Definition at line 707 of file TiledImage.h.

708 {
709 ASSERT(myImageFactory->domain().isInside(aPoint));
710
711 typename OutputImage::Value aValue;
712 bool res;
713
714 res = myImageCache->read(aPoint, aValue);
715
716 if (res)
717 return aValue;
718 else
719 {
720 myImageCache->incCacheMissRead();
721 Domain d;
722#ifdef DEBUG_VERBOSE
723 trace.info()<<"+";
724#endif
726
727 myImageCache->update(d);
728
729 myImageCache->read(aPoint, aValue);
730
731 return aValue;
732 }
733
734 // Unspecified behavior, returning the default constructed value.
735 return aValue;
736 }
const Domain findSubDomain(const Point &aPoint) const
Definition TiledImage.h:603

References aPoint, findSubDomain(), myImageCache, myImageFactory, and DGtal::trace.

◆ operator=()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
TiledImage & DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::operator= ( const TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy > & other)
inline

Assignment.

Parameters
otherthe TiledImage to copy.
Returns
a reference on 'this'.

Definition at line 171 of file TiledImage.h.

172 {
173 if ( this != &other )
174 {
175 myN = other.myN;
179
181
182 m_lowerBound = myImageFactory->domain().lowerBound();
183 m_upperBound = myImageFactory->domain().upperBound();
184
185 for(typename DGtal::Dimension i=0; i<Domain::dimension; i++)
187 }
188
189 return *this;
190 }

References m_lowerBound, m_upperBound, myImageCache, myImageFactory, myN, myReadPolicy, mySize, myWritePolicy, and TiledImage().

◆ outputIterator() [1/2]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
OutputIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::outputIterator ( )
inline

Definition at line 537 of file TiledImage.h.

538 {
539 return OutputIterator( begin() );
540 }
TiledIterator OutputIterator
Definition TiledImage.h:452

References begin().

◆ outputIterator() [2/2]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
OutputIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::outputIterator ( const Point & aPoint)
inline

Definition at line 542 of file TiledImage.h.

543 {
544 return OutputIterator( begin(aPoint) );
545 }

References aPoint, and begin().

◆ range()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
Range DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::range ( )
inline
Returns
the range providing begin and end iterators (with this) to scan the values of image.

Definition at line 575 of file TiledImage.h.

576 {
577 return Range( this );
578 }
TiledImageBidirectionalRangeFromPoint< TiledImage > Range
Definition TiledImage.h:560

◆ rbegin() [1/4]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
ReverseOutputIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::rbegin ( )
inline

Definition at line 496 of file TiledImage.h.

497 {
498 return ReverseTiledIterator( end() );
499 }
boost::reverse_iterator< TiledIterator > ReverseTiledIterator
Definition TiledImage.h:454

References end().

◆ rbegin() [2/4]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
ConstReverseIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::rbegin ( ) const
inline

Definition at line 491 of file TiledImage.h.

492 {
493 return ReverseTiledIterator( end() );
494 }

References end().

Referenced by routputIterator().

◆ rbegin() [3/4]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
ReverseOutputIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::rbegin ( const Point & aPoint)
inline

Definition at line 513 of file TiledImage.h.

514 {
515 typename DGtal::Dimension i;
516
518 for(i=0; i<Domain::dimension; i++)
520
522 return ReverseTiledIterator(it);
523 }

References aPoint, begin(), m_lowerBound, and m_upperBound.

◆ rbegin() [4/4]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
ConstReverseIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::rbegin ( const Point & aPoint) const
inline

Definition at line 501 of file TiledImage.h.

502 {
503 typename DGtal::Dimension i;
504
506 for(i=0; i<Domain::dimension; i++)
508
510 return ReverseTiledIterator(it);
511 }

References aPoint, begin(), m_lowerBound, and m_upperBound.

◆ rend() [1/2]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
ConstReverseIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::rend ( )
inline

Definition at line 530 of file TiledImage.h.

531 {
532 return ReverseTiledIterator( begin() );
533 }

References begin().

◆ rend() [2/2]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
ConstReverseIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::rend ( ) const
inline

Definition at line 525 of file TiledImage.h.

526 {
527 return ReverseTiledIterator( begin() );
528 }

References begin().

◆ routputIterator() [1/2]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
ReverseOutputIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::routputIterator ( )
inline

Definition at line 547 of file TiledImage.h.

548 {
549 return ReverseOutputIterator( end() );
550 }
ReverseTiledIterator ReverseOutputIterator
Definition TiledImage.h:456

References end().

◆ routputIterator() [2/2]

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
ReverseOutputIterator DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::routputIterator ( const Point & aPoint)
inline

Definition at line 552 of file TiledImage.h.

553 {
555 }
ConstReverseIterator rbegin() const
Definition TiledImage.h:491

References aPoint, and rbegin().

◆ selfDisplay()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
void DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::selfDisplay ( std::ostream & out) const

Writes/Displays the object on an output stream.

Parameters
outthe output stream where the object is written.

◆ setValue()

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
void DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::setValue ( const Point & aPoint,
const Value & aValue )
inline

Set a value on an image (in cache) at a position specified by a aPoint.

Parameters
aPointthe point.
aValuethe value.

Definition at line 744 of file TiledImage.h.

745 {
746 ASSERT(myImageFactory->domain().isInside(aPoint));
747
748 if (myImageCache->write(aPoint, aValue))
749 return;
750 else
751 {
752 myImageCache->incCacheMissWrite();
754 myImageCache->write(aPoint, aValue);
755 }
756 }

References aPoint, findSubDomain(), myImageCache, and myImageFactory.

Field Documentation

◆ m_lowerBound

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
Point DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::m_lowerBound
protected

◆ m_upperBound

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
Point DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::m_upperBound
protected

◆ myImageCache

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
MyImageCache* DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::myImageCache
protected

◆ myImageFactory

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
ImageFactory* DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::myImageFactory
protected

◆ myN

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
Domain::Integer DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::myN
protected

Number of tiles per dimension.

Definition at line 786 of file TiledImage.h.

Referenced by domainBlockCoords(), operator=(), TiledImage(), and TiledImage().

◆ myReadPolicy

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
TImageCacheReadPolicy* DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::myReadPolicy
protected

TImageCacheReadPolicy pointer.

Definition at line 801 of file TiledImage.h.

Referenced by operator=(), TiledImage(), and TiledImage().

◆ mySize

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
Point DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::mySize
protected

Width of a tile (for each dimension)

Definition at line 789 of file TiledImage.h.

Referenced by findBlockCoordsFromPoint(), findSubDomain(), findSubDomainFromBlockCoords(), operator=(), TiledImage(), and TiledImage().

◆ myWritePolicy

template<typename TImageContainer, typename TImageFactory, typename TImageCacheReadPolicy, typename TImageCacheWritePolicy>
TImageCacheWritePolicy* DGtal::TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy >::myWritePolicy
protected

TImageCacheWritePolicy pointer.

Definition at line 804 of file TiledImage.h.

Referenced by operator=(), TiledImage(), and TiledImage().


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