27 #ifndef IMAGE_STATE_BASE_H
28 #define IMAGE_STATE_BASE_H
39 namespace ost {
namespace img {
43 namespace image_state {
Defines lower and upper valid indices.
Helper class to handle pixel sampling.
class encapsulating 1D to 3D point
virtual void SetReal(const Point &p, const Real &r)=0
set real value at Point
virtual void ApplyIP(ImageStateModIPVisitorBase &v)=0
virtual Point GetSpatialOrigin() const =0
Retrieve spatial origin.
virtual ImageStateBasePtr Clone(bool cc=true) const =0
virtual ImageStateBase & operator+=(Real v)=0
virtual ImageStateBasePtr Apply(ImageStateMorphVisitorBase &v)=0
virtual Complex GetIntpolComplex(const Vec3 &v) const =0
virtual void SetSampling(const PixelSampling &s)=0
virtual void SetAbsoluteOrigin(const Vec3 &c)=0
virtual PixelSampling & GetSampling()=0
virtual ImageStateBasePtr Apply(const ImageStateConstModOPVisitorBase &v) const =0
virtual ImageStateBase & operator/=(const Complex &v)=0
virtual ImageStateBase & operator-=(const Complex &v)=0
virtual ~ImageStateBase()
ImageStateBase & operator*=(const ImageStateBase &b)
virtual Extent GetExtent() const =0
Retrieve Extent.
virtual size_t MemSize() const =0
virtual const PixelSampling & GetSampling() const =0
virtual ImageStateBase & operator+=(const Complex &v)=0
virtual Complex GetComplex(const Point &p) const =0
virtual void ApplyIP(const ImageStateConstModIPVisitorBase &v)=0
virtual Extent GetLogicalExtent() const =0
Retrieve logical extent.
virtual Real GetIntpolReal(const Vec3 &v) const =0
ImageStateBase(const ImageStateBase &s)
virtual void SetComplex(const Point &p, const Complex &c)=0
set complex value at Point
virtual void Apply(ImageStateNonModVisitorBase &v) const =0
virtual Real GetIntpolReal(const Vec2 &v) const =0
ImageStateBase & operator/=(const ImageStateBase &b)
virtual Vec3 GetAbsoluteOrigin() const =0
virtual void ApplyIP(ImageStateNonModVisitorBase &v) const =0
ImageStateBase & operator+=(const ImageStateBase &b)
virtual Real GetIntpolReal(const Real &d) const =0
virtual ImageStateBasePtr Apply(const ImageStateConstModIPVisitorBase &v) const =0
virtual void SetSpatialOrigin(const Point &o)=0
Set spatial origin.
virtual Vec3 CoordToIndex(const Vec3 &c) const =0
virtual Real GetReal(const Point &p) const =0
retrieve value at Point as Real
virtual ImageStateBase & operator*=(const Complex &v)=0
ImageStateBase & operator-=(const ImageStateBase &b)
virtual ImageStateBase & operator-=(Real v)=0
virtual DataDomain GetDomain() const =0
Retrieve domain.
virtual ImageStateBasePtr Apply(ImageStateModOPVisitorBase &v) const =0
virtual Complex GetIntpolComplex(const Real &d) const =0
virtual ImageStateBasePtr Apply(ImageStateModIPVisitorBase &v) const =0
virtual ImageStateBase & operator/=(Real v)=0
virtual ImageStateBase & operator*=(Real v)=0
virtual Complex GetIntpolComplex(const Vec2 &v) const =0
virtual Vec3 FractionalIndexToCoord(const Vec3 &p) const =0
virtual DataType GetType() const =0
Retrieve data type: REAL or COMPLEX.
virtual Vec3 IndexToCoord(const Point &p) const =0
in-place modifying image state const visitor base class
out-of-place modifying image state const visitor base class
in-place modifying image state visitor base class
out-of-place modifying image state visitor base class
morphing image state visitor base class
non-modifying image state visitor base class
#define DLLEXPORT_OST_IMG_BASE
std::complex< Real > Complex
boost::shared_ptr< ImageStateBase > ImageStateBasePtr
DataDomain
underlying data type