33 #if defined(ImageContainerByITKImage_RECURSES)
34 #error Recursive header files inclusion detected in ImageContainerByITKImage.h
37 #define ImageContainerByITKImage_RECURSES
39 #if !defined ImageContainerByITKImage_h
41 #define ImageContainerByITKImage_h
45 #include "DGtal/base/Common.h"
46 #include "DGtal/base/CLabel.h"
47 #include "DGtal/kernel/domains/CDomain.h"
48 #include "DGtal/kernel/domains/CDomain.h"
49 #include "DGtal/kernel/PointVector.h"
50 #include "DGtal/images/DefaultConstImageRange.h"
51 #include "DGtal/images/DefaultImageRange.h"
54 #pragma GCC diagnostic push
55 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
56 #pragma GCC diagnostic ignored "-Wpedantic"
58 #if defined(__clang__)
59 #pragma clang diagnostic push
60 #pragma clang diagnostic ignored "-Wdocumentation"
63 #include <itkImageRegionConstIterator.h>
64 #include <itkImageRegionIterator.h>
66 #if defined(__clang__)
67 #pragma clang diagnostic pop
70 #pragma GCC diagnostic pop
92 template <
typename TDomain,
typename TValue>
117 typedef typename itk::Image< TValue, dimension>
ITKImage;
123 typedef typename itk::ImageRegionIterator< ITKImage >
Iterator;
451 template <
typename T,
typename TV>
458 #include "DGtal/images/ImageContainerByITKImage.ih"
465 #undef ImageContainerByITKImage_RECURSES
Aim: model of CConstBidirectionalRangeFromPoint that adapts the domain of an image in order to iterat...
Aim: model of CConstBidirectionalRangeFromPoint and CBidirectionalRangeWithWritableIteratorFromPoint ...
Space::Dimension Dimension
Aim: implements a model of CImageContainer using a ITK Image.
ITKImagePointer myITKImagePointer
DefaultImageRange< Self > Range
BOOST_CONCEPT_ASSERT((concepts::CDomain< TDomain >))
Point getDomainPointFromIndex(const Point &indexPoint) const
void updateDomain(const Point &inputDomainShift=Point())
Value operator()(const ConstIterator &it) const
ImageContainerByITKImage(const ITKImagePointer &aRef)
DefaultConstImageRange< Self > ConstRange
BOOST_CONCEPT_ASSERT((concepts::CLabel< TValue >))
itk::ImageRegionIterator< ITKImage > Iterator
ConstIterator begin() const
Value operator()(const Iterator &it) const
PointVector< dimension, double > RealPoint
ITKImage::Pointer ITKImagePointer
itk::Image< TValue, dimension > ITKImage
itk::ImageBase< dimension >::SpacingValueType ITKSpacingValueType
static const Domain::Dimension dimension
const Point & getDomainShift() const
void selfDisplay(std::ostream &out) const
ImageContainerByITKImage(const Domain &aDomain)
ImageContainerByITKImage()
ConstRange constRange() const
ImageContainerByITKImage(const ImageContainerByITKImage &other)
ImageSpacing getImageSpacing() const
Point getDomainPointFromItkIndex(const typename ITKImage::IndexType &itkIndexPoint) const
ITKImage::IndexType getItkIndexFromDomainPoint(const Point &domainPoint) const
Domain::Dimension Dimension
const Container & container() const
void setValue(const Point &domainPoint, const Value &aValue)
ImageContainerByITKImage< TDomain, TValue > Self
const ConstIterator end() const
Value operator()(const Point &domainPoint) const
void setValue(Iterator &it, const Value &V)
PhysicalPoint getLowerBoundAsPhysicalPoint() const
ITKImagePointer getITKImagePointer() const
const Domain & domain() const
void setImageSpacing(const ImageSpacing &s) const
Point getIndexFromDomainPoint(const Point &domainPoint) const
PhysicalPoint getPhysicalPointFromDomainPoint(const Point &domainPoint) const
~ImageContainerByITKImage()
PhysicalPoint getUpperBoundAsPhysicalPoint() const
Point getDomainPointFromPhysicalPoint(const PhysicalPoint &physicalPoint) const
ImageContainerByITKImage & operator=(const ImageContainerByITKImage &other)
ITKImage::PixelContainer Container
itk::ImageRegionConstIterator< ITKImage > ConstIterator
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
Aim: This concept represents a digital domain, i.e. a non mutable subset of points of the given digit...
Aim: Define the concept of DGtal labels. Models of CLabel can be default-constructible,...