18#ifndef sitkPimpleImageBase_h
19#define sitkPimpleImageBase_h
43 virtual std::unique_ptr<PimpleImageBase>
55 virtual std::unique_ptr<PimpleImageBase>
57 virtual std::unique_ptr<PimpleImageBase>
80 virtual std::vector<unsigned int>
83 GetSize(
unsigned int dimension)
const = 0;
87 double coordinateTolerance,
88 double directionTolerance)
const = 0;
92 double coordinateTolerance,
93 double directionTolerance)
const = 0;
95 virtual std::vector<double>
99 virtual std::vector<double>
104 virtual std::vector<double>
109 virtual std::vector<int64_t>
111 virtual std::vector<double>
113 virtual std::vector<double>
115 virtual std::vector<double>
118 virtual std::vector<double>
148 virtual std::vector<int8_t>
150 virtual std::vector<uint8_t>
152 virtual std::vector<int16_t>
154 virtual std::vector<uint16_t>
156 virtual std::vector<int32_t>
158 virtual std::vector<uint32_t>
160 virtual std::vector<int64_t>
162 virtual std::vector<uint64_t>
164 virtual std::vector<float>
166 virtual std::vector<double>
169 virtual std::complex<float>
171 virtual std::complex<double>
245 virtual const int8_t *
247 virtual const uint8_t *
249 virtual const int16_t *
251 virtual const uint16_t *
253 virtual const int32_t *
255 virtual const uint32_t *
257 virtual const int64_t *
259 virtual const uint64_t *
261 virtual const float *
263 virtual const double *
Private implementation idiom image base class.
virtual const float * GetBufferAsFloat() const =0
virtual unsigned int GetWidth() const
virtual uint64_t GetPixelAsUInt64(const std::vector< uint32_t > &idx) const =0
virtual unsigned int GetHeight() const
virtual int64_t GetPixelAsInt64(const std::vector< uint32_t > &idx) const =0
virtual const uint32_t * GetBufferAsUInt32() const =0
virtual std::vector< int16_t > GetPixelAsVectorInt16(const std::vector< uint32_t > &idx) const =0
virtual uint64_t GetNumberOfPixels() const =0
virtual bool IsCongruentImageGeometry(const PimpleImageBase *otherImage, double coordinateTolerance, double directionTolerance) const =0
virtual uint8_t GetPixelAsUInt8(const std::vector< uint32_t > &idx) const =0
virtual int GetReferenceCountOfImage() const =0
virtual void SetPixelAsUInt64(const std::vector< uint32_t > &idx, uint64_t v)=0
virtual std::unique_ptr< PimpleImageBase > ShallowCopy() const =0
virtual const uint8_t * GetBufferAsUInt8() const =0
virtual std::vector< double > GetPixelAsVectorFloat64(const std::vector< uint32_t > &idx) const =0
virtual std::vector< int64_t > GetPixelAsVectorInt64(const std::vector< uint32_t > &idx) const =0
virtual int32_t * GetBufferAsInt32()=0
virtual uint16_t GetPixelAsUInt16(const std::vector< uint32_t > &idx) const =0
virtual std::vector< uint8_t > GetPixelAsVectorUInt8(const std::vector< uint32_t > &idx) const =0
virtual std::complex< float > GetPixelAsComplexFloat32(const std::vector< uint32_t > &idx) const =0
virtual void SetOrigin(const std::vector< double > &orgn)=0
virtual void SetSpacing(const std::vector< double > &spc)=0
virtual void SetPixelAsInt8(const std::vector< uint32_t > &idx, int8_t v)=0
virtual uint32_t * GetBufferAsUInt32()=0
virtual const uint16_t * GetBufferAsUInt16() const =0
virtual unsigned int GetNumberOfComponentsPerPixel() const =0
virtual std::unique_ptr< PimpleImageBase > ProxyCopy()=0
virtual const int8_t * GetBufferAsInt8() const =0
virtual void SetPixelAsVectorFloat64(const std::vector< uint32_t > &idx, const std::vector< double > &v)=0
virtual uint32_t GetPixelAsUInt32(const std::vector< uint32_t > &idx) const =0
virtual double * GetBufferAsDouble()=0
virtual void SetPixelAsVectorUInt64(const std::vector< uint32_t > &idx, const std::vector< uint64_t > &v)=0
virtual void SetDirection(const std::vector< double > &direction)=0
virtual std::vector< uint32_t > GetPixelAsVectorUInt32(const std::vector< uint32_t > &idx) const =0
virtual void SetPixelAsVectorUInt32(const std::vector< uint32_t > &idx, const std::vector< uint32_t > &v)=0
virtual void SetPixelAsComplexFloat32(const std::vector< uint32_t > &idx, const std::complex< float > v)=0
virtual void SetPixelAsInt16(const std::vector< uint32_t > &idx, int16_t v)=0
virtual std::vector< double > TransformPhysicalPointToContinuousIndex(const std::vector< double > &pt) const =0
virtual void SetPixelAsInt32(const std::vector< uint32_t > &idx, int32_t v)=0
virtual float * GetBufferAsFloat()=0
virtual void SetPixelAsFloat(const std::vector< uint32_t > &idx, float v)=0
virtual void SetPixelAsComplexFloat64(const std::vector< uint32_t > &idx, const std::complex< double > v)=0
virtual std::vector< double > TransformContinuousIndexToPhysicalPoint(const std::vector< double > &idx) const =0
virtual uint64_t * GetBufferAsUInt64()=0
virtual unsigned int GetDepth() const
virtual void SetPixelAsUInt32(const std::vector< uint32_t > &idx, uint32_t v)=0
virtual std::unique_ptr< PimpleImageBase > DeepCopy() const =0
virtual void SetPixelAsVectorInt16(const std::vector< uint32_t > &idx, const std::vector< int16_t > &v)=0
virtual uint16_t * GetBufferAsUInt16()=0
virtual int16_t GetPixelAsInt16(const std::vector< uint32_t > &idx) const =0
virtual void SetPixelAsVectorFloat32(const std::vector< uint32_t > &idx, const std::vector< float > &v)=0
virtual const int32_t * GetBufferAsInt32() const =0
virtual std::vector< double > GetSpacing() const =0
virtual const uint64_t * GetBufferAsUInt64() const =0
virtual int8_t * GetBufferAsInt8()=0
virtual bool IsSameImageGeometryAs(const PimpleImageBase *otherImage, double coordinateTolerance, double directionTolerance) const =0
virtual PixelIDValueEnum GetPixelID() const =0
virtual double GetPixelAsDouble(const std::vector< uint32_t > &idx) const =0
virtual std::vector< int32_t > GetPixelAsVectorInt32(const std::vector< uint32_t > &idx) const =0
virtual void SetPixelAsVectorUInt16(const std::vector< uint32_t > &idx, const std::vector< uint16_t > &v)=0
virtual uint8_t * GetBufferAsUInt8()=0
virtual const int16_t * GetBufferAsInt16() const =0
virtual std::vector< double > GetDirection() const =0
virtual const double * GetBufferAsDouble() const =0
virtual ~PimpleImageBase()=default
virtual std::vector< float > GetPixelAsVectorFloat32(const std::vector< uint32_t > &idx) const =0
virtual float GetPixelAsFloat(const std::vector< uint32_t > &idx) const =0
virtual std::vector< unsigned int > GetSize() const =0
virtual std::vector< int64_t > TransformPhysicalPointToIndex(const std::vector< double > &pt) const =0
virtual void SetPixelAsUInt16(const std::vector< uint32_t > &idx, uint16_t v)=0
virtual void SetPixelAsVectorInt8(const std::vector< uint32_t > &idx, const std::vector< int8_t > &v)=0
virtual std::complex< double > GetPixelAsComplexFloat64(const std::vector< uint32_t > &idx) const =0
virtual unsigned int GetSize(unsigned int dimension) const =0
virtual void SetPixelAsDouble(const std::vector< uint32_t > &idx, double v)=0
virtual std::vector< double > GetOrigin() const =0
virtual std::vector< uint16_t > GetPixelAsVectorUInt16(const std::vector< uint32_t > &idx) const =0
virtual void SetPixelAsUInt8(const std::vector< uint32_t > &idx, uint8_t v)=0
virtual itk::DataObject * GetDataBase()=0
virtual std::string ToString() const =0
virtual int64_t * GetBufferAsInt64()=0
virtual void SetPixelAsVectorInt32(const std::vector< uint32_t > &idx, const std::vector< int32_t > &v)=0
virtual void SetPixelAsVectorUInt8(const std::vector< uint32_t > &idx, const std::vector< uint8_t > &v)=0
virtual unsigned int GetDimension() const =0
virtual std::vector< double > TransformIndexToPhysicalPoint(const std::vector< int64_t > &idx) const =0
virtual void SetPixelAsVectorInt64(const std::vector< uint32_t > &idx, const std::vector< int64_t > &v)=0
virtual const void * GetBufferAsVoid() const =0
virtual int32_t GetPixelAsInt32(const std::vector< uint32_t > &idx) const =0
virtual int8_t GetPixelAsInt8(const std::vector< uint32_t > &idx) const =0
virtual void * GetBufferAsVoid()=0
virtual void SetPixelAsInt64(const std::vector< uint32_t > &idx, int64_t v)=0
virtual const itk::DataObject * GetDataBase() const =0
virtual const int64_t * GetBufferAsInt64() const =0
virtual int16_t * GetBufferAsInt16()=0
virtual std::vector< int8_t > GetPixelAsVectorInt8(const std::vector< uint32_t > &idx) const =0
virtual std::vector< double > EvaluateAtContinuousIndex(const std::vector< double > &index, InterpolatorEnum interp) const =0
virtual std::vector< uint64_t > GetPixelAsVectorUInt64(const std::vector< uint32_t > &idx) const =0
PixelIDValueEnum
Enumerated values of pixelIDs.
#define SITKCommon_HIDDEN