27 #ifndef IMAGE_STATE_BASE_H
28 #define IMAGE_STATE_BASE_H
39 namespace ost {
namespace img {
43 namespace image_state {
61 virtual size_t MemSize()
const = 0;
75 virtual DataType GetType()
const = 0;
81 virtual void SetSpatialOrigin(
const Point& o) = 0;
84 virtual Point GetSpatialOrigin()
const = 0;
93 virtual Extent GetExtent()
const = 0;
100 virtual Extent GetLogicalExtent()
const = 0;
106 virtual Real GetReal(
const Point &p)
const = 0;
112 virtual void SetReal(
const Point &p,
const Real& r) = 0;
124 virtual void SetComplex(
const Point &p,
const Complex& c) = 0;
126 virtual Real GetIntpolReal(
const Vec3 &v)
const = 0;
127 virtual Real GetIntpolReal(
const Vec2 &v)
const = 0;
128 virtual Real GetIntpolReal(
const Real &d)
const = 0;
130 virtual Complex GetIntpolComplex(
const Vec3 &v)
const = 0;
131 virtual Complex GetIntpolComplex(
const Vec2 &v)
const = 0;
132 virtual Complex GetIntpolComplex(
const Real &d)
const = 0;
140 virtual Vec3 GetAbsoluteOrigin()
const = 0;
142 virtual void SetAbsoluteOrigin(
const Vec3& c) = 0;
150 virtual Vec3 IndexToCoord(
const Point &p)
const = 0;
159 virtual Vec3 CoordToIndex(
const Vec3& c)
const = 0;
167 virtual Vec3 FractionalIndexToCoord(
const Vec3 &p)
const =0;
out-of-place modifying image state const visitor base class
in-place modifying image state const visitor base class
ImageStateBase(const ImageStateBase &s)
DataDomain
underlying data type
morphing image state visitor base class
std::complex< Real > Complex
virtual ~ImageStateBase()
Helper class to handle pixel sampling.
Defines lower and upper valid indices.
non-modifying image state visitor base class
in-place modifying image state visitor base class
out-of-place modifying image state visitor base class
boost::shared_ptr< ImageStateBase > ImageStateBasePtr
class encapsulating 1D to 3D point
#define DLLEXPORT_OST_IMG_BASE