15 #ifndef __IPSDKIMAGE_BASEIMAGE_H__ 16 #define __IPSDKIMAGE_BASEIMAGE_H__ 20 #pragma warning (push) 21 #pragma warning (disable : 4251) 29 #include <IPSDKUtil/Tools/ProcessingResult.h> 30 #include <IPSDKSerialization/Engine/BaseObjectWithSkeleton.h> 31 #include <boost/enable_shared_from_this.hpp> 36 struct SubImageExtractor;
37 struct ImageStripExtractor;
38 struct ImageTileExtractor;
44 public boost::enable_shared_from_this<BaseImage>
68 virtual ipBool isGpuImage()
const = 0;
71 virtual ipBool isDiskImage()
const = 0;
95 const Guid& getGuid()
const;
99 const std::string& getName()
const;
109 bool existsHeaderKey(
const std::string& key)
const;
119 const BaseDataItem& getHeaderItem(
const std::string& key)
const;
141 bool hasGeometricCalibration()
const;
161 void setScaleGeometricCalibration(
const ipReal32 scale,
162 const std::string& unitStr =
"");
163 void setScaleGeometricCalibration(
const ipReal32 xScale,
165 const std::string& unitStr =
"");
166 void setScaleGeometricCalibration(
const ipReal32 xScale,
169 const std::string& unitStr =
"");
241 bool isValidPlanIdx(
const ipUInt64 zPlanIdx,
247 bool isValidPlanIdx(
const PlanIndex& planIdx)
const;
268 virtual bool hasRemoteStorage()
const;
273 bool hasBinary8BitsStorage()
const;
278 bool hasByPlanDataAccess()
const;
292 std::string getUserPropertiesStr()
const;
296 void setUserPropertiesStr(
const std::string& newStrUserProperties);
300 std::string getChannelName(
const ipUInt64 c)
const;
305 void setChannelName(
const std::string& strName,
const ipUInt64 c);
309 bool minIsBlack()
const;
376 bool checkForRemoteStorage()
const;
399 std::string _userPropertiesStr;
420 #pragma warning (pop) 422 #endif // __IPSDKIMAGE_BASEIMAGE_H__ Predefined types for geometry component management.
eImageBaseType
Enumerate describing image base type.
Definition: ImageTypes.h:46
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::shared_ptr< const BaseDataItem > DataItemConstPtr
shared pointer to const DataItem
Definition: DataItemTypes.h:149
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
boost::shared_ptr< const ipsdk::GeometricCalibration > GeometricCalibrationConstPtr
shared pointer to const ipsdk::GeometricCalibration
Definition: GeometricCalibrationTypes.h:31
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:97
eColorGeometryType
Color geometry type.
Definition: GeometryComponentTypes.h:45
Structure used to extract image tiles from an image.
Definition: ImageTileExtractor.h:33
Base class for image geometry.
Definition: BaseImageGeometry.h:38
boost::shared_ptr< const BaseImageGeometry > ImageGeometryConstPtr
shared pointer to const image geometry
Definition: ImageGeometryTypes.h:59
bool isInit() const
retrieve object initialisation flag
Definition: BaseImage.h:409
IPSDKIMAGE_API ImageGeometryPtr geometry(const eImageBufferType &imageBufferType, const ipUInt64 sizeX, const ipUInt64 sizeY, const VolumeGeometry &volumeGeometry, const ColorGeometry &colorGeometry, const TemporalGeometry &temporalGeometry)
create an image geometry
eTemporalGeometryType
Temporal geometry type.
Definition: GeometryComponentTypes.h:76
Class encapsulating an auto initialized uuid.
Definition: Guid.h:27
Definition of import/export macro for library.
boost::shared_ptr< const BasePlanStorage > PlanStorageConstPtr
shared pointer to const image plan storage
Definition: PlanStorageTypes.h:58
Predefined types for image geometry management.
Structure used to extract image strips from an image.
Definition: ImageStripExtractor.h:31
boost::shared_ptr< const DataItemMap > DataItemMapConstPtr
shared pointer to const DataItemMap
Definition: DataItemTypes.h:170
std::vector< PlanStorageColl2d > PlanStorageColl3d
Definition: ImageTypes.h:196
std::set< std::string > ItemNames
collection of names or ids for items
Definition: DataItemTypes.h:143
#define IPSDKIMAGE_API
Import/Export macro for library IPSDKImage.
Definition: IPSDKImageExports.h:27
eVolumeGeometryType
Volume geometry type.
Definition: GeometryComponentTypes.h:32
Class used to store image plan index.
Definition: PlanIndex.h:26
Predefined base collection types for library.
bool ipBool
Base types definition.
Definition: BaseTypes.h:47
Base class for serialization object with three serialization modes :
Definition: BaseObjectWithSkeleton.h:33
Class encapsulating volume geometryThis class allows to define geometry volume size and type (2d or 3...
Definition: VolumeGeometry.h:34
Definition: SubImageExtractor.h:30
boost::shared_ptr< BasePlanStorage > PlanStoragePtr
shared pointer to image plan storage
Definition: PlanStorageTypes.h:55
boost::shared_ptr< CudaImage > CudaImagePtr
Definition: ImageTypes.h:175
Class encapsulating color geometryThis class allows to define geometry color size and type (grey...
Definition: ColorGeometry.h:35
Class used to uniquely identify a data object.
Definition: DataIdentifier.h:31
boost::shared_ptr< const DataIdentifier > DataIdentifierConstPtr
shared pointer to const data identifier
Definition: DataIdentifierTypes.h:31
Class allowing to encapsulate an image geometric calibration.
Definition: GeometricCalibration.h:33
Base class for images data type.
Definition: BaseImage.h:43
Predefined types for data items.
Class encapsulating temporal geometryThis class allows to define geometry temporal size and type (sin...
Definition: TemporalGeometry.h:35
boost::shared_ptr< BaseImageGeometry > ImageGeometryPtr
shared pointer to image geometry
Definition: ImageGeometryTypes.h:55
Predefined type for image management.
Base class for data items.
Definition: BaseDataItem.h:27
virtual void clearDerived()
clear data in derived class
Definition: BaseImage.h:364
eImageAccessMode
Image access mode.
Definition: ImageTypes.h:110
float ipReal32
Base types definition.
Definition: BaseTypes.h:56
eImageBufferType
types associated to image buffers
Definition: ImageTypes.h:78