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"
59#pragma clang diagnostic push
60#pragma clang diagnostic ignored "-Wdocumentation"
63#include <itkImageRegionConstIterator.h>
64#include <itkImageRegionIterator.h>
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
void selfDisplay(std::ostream &out) const
ImageContainerByITKImage(const Domain &aDomain)
ImageContainerByITKImage()
const Container & container() const
ImageContainerByITKImage & operator=(const ImageContainerByITKImage &other)
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 Domain & domain() 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
void setImageSpacing(const ImageSpacing &s) const
Point getIndexFromDomainPoint(const Point &domainPoint) const
PhysicalPoint getPhysicalPointFromDomainPoint(const Point &domainPoint) const
~ImageContainerByITKImage()
PhysicalPoint getUpperBoundAsPhysicalPoint() const
const Point & getDomainShift() const
Point getDomainPointFromPhysicalPoint(const PhysicalPoint &physicalPoint) const
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 ClosedIntegerHalfPlane< TSpace > &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,...