32 #include <boost/shared_ptr.hpp>
43 namespace ost {
namespace img {
49 class NonModAlgorithm;
82 virtual DataType GetType()
const = 0;
115 virtual Extent GetExtent()
const = 0;
118 virtual Point GetSpatialOrigin()
const = 0;
133 virtual Real GetReal(
const Point &p)
const = 0;
140 virtual Real GetIntpolReal(
const Vec3 &v)
const = 0;
141 virtual Real GetIntpolReal(
const Vec2 &v)
const = 0;
142 virtual Real GetIntpolReal(
const Real &d)
const = 0;
145 virtual Complex GetIntpolComplex(
const Vec3 &v)
const = 0;
146 virtual Complex GetIntpolComplex(
const Vec2 &v)
const = 0;
147 virtual Complex GetIntpolComplex(
const Real &d)
const = 0;
174 virtual void Notify()
const = 0;
197 Vec3 GetPixelSampling()
const;
200 Vec3 GetSpatialSampling()
const;
203 Vec3 GetFrequencySampling()
const;
236 void CalcIntpolWeights(Vec3 v,
Real w[8],
Point p[8])
const;
266 virtual void SetSpatialOrigin(
const Point& o) = 0;
274 void SetPixelSampling(
const Vec3&);
278 void SetSpatialSampling(
const Vec3&);
bool IsReal() const
Returns true if data is currently of real type.
Non-modifying Algorithm, abstract base class.
DataDomain
underlying data type
std::complex< Real > Complex
Abstract base class for data.
Abstract base class for read-only data.
Helper class to handle pixel sampling.
class encapsulating 1D to 3D size
Defines lower and upper valid indices.
Abstract base class of data observer.
bool IsComplex() const
Returns true if data is currently of complex type.
void SetPixelSampling(Real d)
Set uniform pixel dimensions of the current domain.
Size GetSize() const
Return Size.
void SetSpatialSampling(Real d)
set spatial pixel dimensions (uniform)
bool IsSpatial() const
Returns true if data is currently in spatial domain.
class encapsulating 1D to 3D point
bool IsFrequency() const
Returns true if data is currently in frequency domain.
#define DLLEXPORT_OST_IMG_BASE