IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
DFTConfig.h
1 // DFTConfig.h:
3 // ------------
4 //
15 
16 #ifndef __IPSDKIPLATTRIBUTES_DFTCONFIG_H__
17 #define __IPSDKIPLATTRIBUTES_DFTCONFIG_H__
18 
22 
23 namespace ipsdk {
24 namespace imaproc {
25 namespace attr {
26 
32 
33 IPSDK_DECLARE_NODE_DATA(IPSDKIPLAttributes, DFTConfig,
37  ((LEAF)(CustomXScale)(ipsdk::ipReal32))
38  ((LEAF)(CustomYScale)(ipsdk::ipReal32))
39  ((LEAF)(CustomZScale)(ipsdk::ipReal32)))
40 
41 public:
45  ipReal32 getForwardXScale(const ipUInt64 sizeX) const;
46  ipReal32 getForwardYScale(const ipUInt64 sizeY) const;
47  ipReal32 getForwardZScale(const ipUInt64 sizeZ) const;
49 
53  ipReal32 getBackwardXScale(const ipUInt64 sizeX) const;
54  ipReal32 getBackwardYScale(const ipUInt64 sizeY) const;
55  ipReal32 getBackwardZScale(const ipUInt64 sizeZ) const;
57 };
58 
61 
64 typedef boost::shared_ptr<ipsdk::imaproc::attr::DFTConfig> DFTConfigPtr;
65 
68 typedef boost::shared_ptr<const ipsdk::imaproc::attr::DFTConfig> DFTConfigConstPtr;
69 
72 
78 
86  const ipsdk::imaproc::attr::eDFTCoordinates& coordsType,
87  const ipsdk::imaproc::attr::eDFTScalePolicy& scalePolicy,
88  const ipReal32 customXScale = 1.0f,
89  const ipReal32 customYScale = 1.0f,
90  const ipReal32 customZScale = 1.0f);
91 
94 
95 } // end of namespace attr
96 } // end of namespace imaproc
97 } // end of namespace ipsdk
98 
99 #endif // __IPSDKIPLATTRIBUTES_DFTCONFIG_H__
boost::shared_ptr< const ipsdk::imaproc::attr::DFTConfig > DFTConfigConstPtr
shared pointer to const ipsdk::imaproc::attr::DFTConfig
Definition: DFTConfig.h:228
eDFTScalePolicy
Enumerate describing policy used to scale data of Discrete Fourier Transform.
Definition: DiscreteFourierTransformTypes.h:59
#define IPSDK_DECLARE_NODE_DATA(libraryName, className, childSeq)
User friendly data storage with the lowest frequencies at the center.
Definition: DiscreteFourierTransformTypes.h:35
boost::shared_ptr< ipsdk::imaproc::attr::DFTConfig > DFTConfigPtr
shared pointer to ipsdk::imaproc::attr::DFTConfig
Definition: DFTConfig.h:224
IPSDKIPLATTRIBUTES_API DFTConfigPtr createDFTConfig(const ipsdk::imaproc::attr::eDFTQuadrantsPolicy &quadrantsPolicy, const ipsdk::imaproc::attr::eDFTCoordinates &coordsType, const ipsdk::imaproc::attr::eDFTScalePolicy &scalePolicy, const ipReal32 customXScale=1.0f, const ipReal32 customYScale=1.0f, const ipReal32 customZScale=1.0f)
function allowing to create a custom Discrete Fourier Transform configuration
uint64_t ipUInt64
direct transforms are left unscaled whereas inverse transforms are scaled by
Definition: DiscreteFourierTransformTypes.h:61
IPSDKIPLATTRIBUTES_API DFTConfigPtr createDefaultDFTConfig()
function allowing to create a default Discrete Fourier Transform configuration
eDFTCoordinates
Enumerate describing coordinates system used to store Discrete Fourier Transform data.
Definition: DiscreteFourierTransformTypes.h:46
Definition of import/export macro for library.
Predefined types for Discrete Fourier Transform management.
#define IPSDKIPLATTRIBUTES_API
Import/Export macro for library IPSDKIPLAttributes.
Definition: IPSDKIPLAttributesExports.h:25
eDFTQuadrantsPolicy
Enumerate describing quadrants policy used to store Discrete Fourier Transform data.
Definition: DiscreteFourierTransformTypes.h:33
float ipReal32
frequencies are represented using polar coordinates
Definition: DiscreteFourierTransformTypes.h:48