FLImaging 6.8.21.2
AugmentationParameters.h
1#pragma once
2
3#include "DefinitionsAI.h"
4
5#ifdef _M_X64
6
12
13#pragma pack(push, 1)
14
16namespace FLImaging
17{
19 namespace AI
20 {
66 class FL_EXPORT CAugmentationParameters : public Base::CFLBase
67 {
68 public:
76 enum EMixMethod
77 {
82 EMixMethod_None = 0,
87 EMixMethod_RandomSelection,
92 EMixMethod_MixUp,
97 EMixMethod_CutMix,
102 EMixMethod_Mosaic,
107 EMixMethod_ObjectMix,
108 };
109
110 public:
115 CAugmentationParameters();
120 CAugmentationParameters(const CAugmentationParameters& ap);
125 CAugmentationParameters(const CAugmentationParameters* pAp);
130 virtual ~CAugmentationParameters();
131
145 virtual const CResult Assign(const CAugmentationParameters& ap);
159 virtual const CResult Assign(const CAugmentationParameters* pAp);
160
167 const CAugmentationParameters& operator=(const CAugmentationParameters& ap);
172 virtual const CResult Clear();
173
174 virtual const CResult SetCommonActivationRate(double f64CommonActivationRate = 1.);
175 virtual const CResult GetCommonActivationRate(double& f64CommonActivationRate) const;
176
189 virtual const CResult SetCommonIoUThreshold(double f64CommonIoUThreshold);
190
203 virtual const CResult GetCommonIoUThreshold(double& f64CommonIoUThreshold) const;
204
229 virtual const CResult SetCommonInterpolationMethod(ImageProcessing::EInterpolationMethod eCommonInterpolationMethod = ImageProcessing::EInterpolationMethod_Bilinear);
230
250 virtual const CResult GetCommonInterpolationMethod(ImageProcessing::EInterpolationMethod& eCommonInterpolationMethod) const;
251
274 virtual const CResult SetCommonBlankColorMethod(EBlankColorMethod eCommonBlankColorMethod = EBlankColorMethod_ZeroPadding);
275
293 virtual const CResult GetCommonBlankColorMethod(EBlankColorMethod& eCommonBlankColorMethod) const;
294
295 virtual const CResult EnableAugmentation(bool bEnableAugmentation);
296 virtual bool IsAugmentationEnabled() const;
297
310 virtual const CResult EnableMixMethod(bool bMixMethod);
319 virtual bool IsMixMethodEnabled() const;
336 virtual const CResult SetMixMethodParam(EMixMethod eMixMethod = EMixMethod_None, double f64MixActivationRate = .8);
353 virtual const CResult GetMixMethodParam(EMixMethod& eMixMethod, double& f64MixActivationRate) const;
354
369 virtual const CResult SetMixUpParam(double f64MinMixUpBlendRatio = 0.4, double f64MaxMixUpBlendRatio = .6);
384 virtual const CResult GetMixUpParam(double& f64MinMixUpBlendRatio, double& f64MaxMixUpBlendRatio) const;
385
408 virtual const CResult SetCutMixParam(double f64MinCutMixRatioX = 0.1, double f64MaxCutMixRatioX = .4, double f64MinCutMixRatioY = 0.1, double f64MaxCutMixRatioY = .4, double f64MinCutMixBlendRatio = 0., double f64MaxCutMixBlendRatio = .0);
431 virtual const CResult GetCutMixParam(double& f64MinCutMixRatioX, double& f64MaxCutMixRatioX, double& f64MinCutMixRatioY, double& f64MaxCutMixRatioY, double& f64MinCutMixBlendRatio, double& f64MaxCutMixBlendRatio) const;
432
473 virtual const CResult SetObjectMixParam(double f64MinTranslationRatioX = -0.1, double f64MaxTranslationRatioX = 0.1, double f64MinTranslationRatioY = -0.1, double f64MaxTranslationRatioY = 0.1, double f64MinObjectMixScaleRatioX = 0.8, double f64MaxObjectMixScaleRatioX = 1.25, double f64MinObjectMixScaleRatioY = 0.8, double f64MaxObjectMixScaleRatioY = 1.25, bool bObjectMixPreservingScaleRatio = true, double f64MinObjectMixRotation = -5., double f64MaxObjectMixRotation = .5, bool bObjectMixHorizontalFlip = false, bool bObjectMixVerticalFlip = false, int64_t i64MinObjectMixCount = 1, int64_t i64MaxObjectMixCount = 2);
514 virtual const CResult GetObjectMixParam(double& f64MinTranslationRatioX, double& f64MaxTranslationRatioX, double& f64MinTranslationRatioY, double& f64MaxTranslationRatioY, double& f64MinObjectMixScaleRatioX, double& f64MaxObjectMixScaleRatioX, double& f64MinObjectMixScaleRatioY, double& f64MaxObjectMixScaleRatioY, bool& bObjectMixPreservingScaleRatio, double& f64MinObjectMixRotation, double& f64MaxObjectMixRotation, bool& bObjectMixHorizontalFlip, bool& bObjectMixVerticalFlip, int64_t& i64MinObjectMixCount, int64_t& i64MaxObjectMixCount) const;
515
528 virtual const CResult EnableResizedCrop(bool bResizedCrop);
537 virtual bool IsResizedCropEnabled() const;
558 virtual const CResult SetResizedCropParam(double f64MinResizedCropScaleRatio = .8, double f64MaxResizedCropScaleRatio = 1.0, double f64MinResizedCropAspectRatio = 0.8, double f64MaxResizedCropAspectRatio = 1.25, double f64ResizedCropActivationRate = 1.);
579 virtual const CResult GetResizedCropParam(double& f64MinResizedCropScaleRatio, double& f64MaxResizedCropScaleRatio, double& f64MinResizedCropAspectRatio, double& f64MaxResizedCropAspectRatio, double& f64ResizedCropActivationRate) const;
580
593 virtual const CResult EnableHorizontalFlip(bool bFlip);
602 virtual bool IsHorizontalFlipEnabled() const;
615 virtual const CResult SetHorizontalFlipParam(double f64HorizontalFlipActivationRate = 1.);
628 virtual const CResult GetHorizontalFlipParam(double& f64HorizontalFlipActivationRate) const;
641 virtual const CResult EnableVerticalFlip(bool bFlip);
650 virtual bool IsVerticalFlipEnabled() const;
663 virtual const CResult SetVerticalFlipParam(double f64VerticalFlipActivationRate = 1.);
676 virtual const CResult GetVerticalFlipParam(double& f64VerticalFlipActivationRate) const;
677
690 virtual const CResult EnableAdjustment(bool bAdjustment);
699 virtual bool IsAdjustmentEnabled() const;
720 virtual const CResult SetAdjustmentParam(double f64MinAdjustmentBrightness = .8, double f64MaxAdjustmentBrightness = 1.25, double f64MinAdjustmentContrast = .8, double f64MaxAdjustmentContrast = 1.25, double f64AdjustmentActivationRate = 1.);
741 virtual const CResult GetAdjustmentParam(double& f64MinAdjustmentBrightness, double& f64MaxAdjustmentBrightness, double& f64MinAdjustmentContrast, double& f64MaxAdjustmentContrast, double& f64AdjustmentActivationRate) const;
742
755 virtual const CResult EnableIntensity(bool bIntensity);
764 virtual bool IsIntensityEnabled() const;
789 virtual const CResult SetIntensityParam(double f64MinSaturation = .8, double f64MaxSaturation = 1.25, double f64MinExposure = .8, double f64MaxExposure = 1.25, double f64MinHue = -0.03, double f64MaxHue = .03, double f64IntensityActivationRate = 1.);
814 virtual const CResult GetIntensityParam(double& f64MinSaturation, double& f64MaxSaturation, double& f64MinExposure, double& f64MaxExposure, double& f64MinHue, double& f64MaxHue, double& f64IntensityActivationRate) const;
815
828 virtual const CResult EnableGradation(bool bGradation);
837 virtual bool IsGradationEnabled() const;
854 virtual const CResult SetGradationParam(double f64GradationMinAlpha = 0., double f64GradationMaxAlpha = .1, double f64GradationActivationRate = 1.);
871 virtual const CResult GetGradationParam(double& f64GradationMinAlpha, double& f64GradationMaxAlpha, double& f64GradationActivationRate) const;
872
885 virtual const CResult EnableEmphasize(bool bEmphasize);
894 virtual bool IsEmphasizeEnabled() const;
915 virtual const CResult SetEmphasizeParam(int64_t i64MinimumKernelSize = 1, int64_t i64MaximumKernelSize = 3, double f64MinimumFactor = 0., double f64MaximumFactor = 1., double f64EmphasizeActivationRate = 1.);
936 virtual const CResult GetEmphasizeParam(int64_t& i64MinimumKernelSize, int64_t& i64MaximumKernelSize, double& f64MinimumFactor, double& f64MaximumFactor, double& f64EmphasizeActivationRate) const;
937
950 virtual const CResult EnableGaussianBlur(bool bGaussianBlur);
959 virtual bool IsGaussianBlurEnabled() const;
976 virtual const CResult SetGaussianBlurParam(int64_t i64MinKernelSize = 1, int64_t i64MaxKernelSize = 3, double f64GaussianBlurActivationRate = 1.);
993 virtual const CResult GetGaussianBlurParam(int64_t& i64MinKernelSize, int64_t& i64MaxKernelSize, double& f64GaussianBlurActivationRate) const;
994
1007 virtual const CResult EnableGaussianNoise(bool bGaussianNoise);
1016 virtual bool IsGaussianNoiseEnabled() const;
1037 virtual const CResult SetGaussianNoiseParam(double f64MinMean = 0., double f64MaxMean = 0., double f64MinStdev = 0., double f64MaxStdev = .02, double f64GaussianNoiseActivationRate = 1.);
1058 virtual const CResult GetGaussianNoiseParam(double& f64MinMean, double& f64MaxMean, double& f64MinStdev, double& f64MaxStdev, double& f64GaussianNoiseActivationRate) const;
1059
1072 virtual const CResult EnableAlphaBlendMask(bool bAlphaBlendMask);
1081 virtual bool IsAlphaBlendMaskEnabled() const;
1082
1115 virtual const CResult SetAlphaBlendMaskParam(double f64MinAlphaBlendMaskRatioX = 0.05, double f64MaxAlphaBlendMaskRatioX = .1, double f64MinAlphaBlendMaskRatioY = 0.05, double f64MaxAlphaBlendMaskRatioY = .1, double f64MinAlphaBlendMaskValue = 0., double f64MaxAlphaBlendMaskValue = 1., double f64MinAlphaBlendMaskBlendRatio = 0.6, double f64MaxAlphaBlendMaskBlendRatio = 1., double f64AlphaBlendMaskActivationRate = .5, int64_t i64MinAlphaBlendMaskCount = 1, int64_t i64MaxAlphaBlendMaskCount = 2);
1148 virtual const CResult GetAlphaBlendMaskParam(double& f64MinAlphaBlendMaskRatioX, double& f64MaxAlphaBlendMaskRatioX, double& f64MinAlphaBlendMaskRatioY, double& f64MaxAlphaBlendMaskRatioY, double& f64MinAlphaBlendMaskValue, double& f64MaxAlphaBlendMaskValue, double& f64MinAlphaBlendMaskBlendRatio, double& f64MaxAlphaBlendMaskBlendRatio, double& f64AlphaBlendMaskActivationRate, int64_t& i64MinAlphaBlendMaskCount, int64_t& i64MaxAlphaBlendMaskCount) const;
1149
1162 virtual const CResult EnablePerspective(bool bPerspective);
1171 virtual bool IsPerspectiveEnabled() const;
1188 virtual const CResult SetPerspectiveParam(double f64MinPerspectiveRatio = .0, double f64MaxPerspectiveRatio = .1, double f64PerspectiveActivationRate = 1.);
1205 virtual const CResult GetPerspectiveParam(double& f64MinPerspectiveRatio, double& f64MaxPerspectiveRatio, double& f64PerspectiveActivationRate) const;
1206
1219 virtual const CResult EnableQuarterRotation(bool bQuarterRotation);
1228 virtual bool IsQuarterRotationEnabled() const;
1249 virtual const CResult SetQuarterRotationParam(bool bAngle0 = true, bool bAngle90 = true, bool bAngle180 = true, bool bAngle270 = true, double f64QuarterRotationActivationRate = 1.);
1270 virtual const CResult GetQuarterRotationParam(bool& bAngle0, bool& bAngle90, bool& bAngle180, bool& bAngle270, double& f64QuarterRotationActivationRate) const;
1271
1284 virtual const CResult EnableRotation(bool bRotation);
1293 virtual bool IsRotationEnabled() const;
1314 virtual const CResult SetRotationParam(double f64MinAngle = -5., double f64MaxAngle = 5., bool bRectMode = false, bool bFitTensor = false, double f64RotationActivationRate = 1.);
1335 virtual const CResult GetRotationParam(double& f64MinAngle, double& f64MaxAngle, bool& bRectMode, bool& bFitTensor, double& f64RotationActivationRate) const;
1336
1349 virtual const CResult EnableScale(bool bScale);
1358 virtual bool IsScaleEnabled() const;
1381 virtual const CResult SetScaleParam(double f64MinScaleRatioX = 0.8, double f64MaxScaleRatioX = 1.2, double f64MinScaleRatioY = 0.8, double f64MaxScaleRatioY = 1.2, bool bPreservingScaleRatio = true, double f64ScaleActivationRate = 1.);
1404 virtual const CResult GetScaleParam(double& f64MinScaleRatioX, double& f64MaxScaleRatioX, double& f64MinScaleRatioY, double& f64MaxScaleRatioY, bool& bPreservingScaleRatio, double& f64ScaleActivationRate) const;
1405
1418 virtual const CResult EnableTranslation(bool bTranslation);
1427 virtual bool IsTranslationEnabled() const;
1448 virtual const CResult SetTranslationParam(double f64MinTranslationRatioX = -0.1, double f64MaxTranslationRatioX = 0.1, double f64MinTranslationRatioY = -0.1, double f64MaxTranslationRatioY = 0.1, double f64TranslationActivationRate = 1.);
1469 virtual const CResult GetTranslationParam(double& f64MinTranslationRatioX, double& f64MaxTranslationRatioX, double& f64MinTranslationRatioY, double& f64MaxTranslationRatioY, double& f64TranslationActivationRate) const;
1470
1483 virtual const CResult EnableCutout(bool bCutout);
1492 virtual bool IsCutoutEnabled() const;
1517 virtual const CResult SetCutoutParam(double f64MinCutoutRatioX = 0.05, double f64MaxCutoutRatioX = .1, double f64MinCutoutRatioY = 0.05, double f64MaxCutoutRatioY = .1, double f64CutoutActivationRate = .5, int64_t i64MinCutoutCount = 1, int64_t i64MaxCutoutCount = 2);
1542 virtual const CResult GetCutoutParam(double& f64MinCutoutRatioX, double& f64MaxCutoutRatioX, double& f64MinCutoutRatioY, double& f64MaxCutoutRatioY, double& f64CutoutActivationRate, int64_t& i64MinCutoutCount, int64_t& i64MaxCutoutCount) const;
1543
1544 virtual const CResult GetBinaryData(Base::CFLData& fldBinary, int32_t i32Version = -1) const;
1545 virtual const CResult GetBinaryData(Base::CFLData* pFldBinary, int32_t i32Version = -1) const;
1546
1547 virtual const CResult SetBinaryData(const Base::CFLData& fldBinary);
1548 virtual const CResult SetBinaryData(const Base::CFLData* pFldBinary);
1549
1550 DeclareGetClassType();
1551 SupportToDuplicateObjectWithoutCreateNewObject(CAugmentationParameters, *this);
1552
1553 protected:
1554 bool m_bAugmentation;
1555 double m_f64CommonActivationRate;
1562 double m_f64CommonIoUThreshold;
1569 ImageProcessing::EInterpolationMethod m_eCommonInterpolationMethod;
1576 EBlankColorMethod m_eCommonBlankColorMethod;
1577
1584 bool m_bMixMethod;
1591 double m_f64MixActivationRate;
1598 EMixMethod m_eMixMethod;
1605 double m_f64MinMixUpBlendRatio;
1612 double m_f64MaxMixUpBlendRatio;
1613
1620 double m_f64MinCutMixRatioX;
1627 double m_f64MaxCutMixRatioX;
1634 double m_f64MinCutMixRatioY;
1641 double m_f64MaxCutMixRatioY;
1648 double m_f64MinCutMixBlendRatio;
1655 double m_f64MaxCutMixBlendRatio;
1656
1663 double m_f64MinObjectMixTranslationRatioX;
1670 double m_f64MaxObjectMixTranslationRatioX;
1677 double m_f64MinObjectMixTranslationRatioY;
1684 double m_f64MaxObjectMixTranslationRatioY;
1685
1692 double m_f64MinObjectMixScaleRatioX;
1699 double m_f64MaxObjectMixScaleRatioX;
1706 double m_f64MinObjectMixScaleRatioY;
1713 double m_f64MaxObjectMixScaleRatioY;
1720 bool m_bObjectMixPreservingScaleRatio;
1727 double m_f64MinObjectMixRotation;
1734 double m_f64MaxObjectMixRotation;
1741 bool m_bObjectMixHorizontalFlip;
1748 bool m_bObjectMixVerticalFlip;
1755 int64_t m_i64MinObjectMixCount;
1762 int64_t m_i64MaxObjectMixCount;
1769 bool m_bResizedCrop;
1776 double m_f64ResizedCropActivationRate;
1783 double m_f64MinResizedCropScaleRatio;
1790 double m_f64MaxResizedCropScaleRatio;
1797 double m_f64MinResizedCropAspectRatio;
1804 double m_f64MaxResizedCropAspectRatio;
1805
1812 bool m_bHorizontalFlip;
1819 double m_f64HorizontalFlipActivationRate;
1826 bool m_bVerticalFlip;
1833 double m_f64VerticalFlipActivationRate;
1834
1841 bool m_bAdjustment;
1848 double m_f64AdjustmentActivationRate;
1855 double m_f64MinAdjustmentBrightness;
1862 double m_f64MaxAdjustmentBrightness;
1869 double m_f64MinAdjustmentContrast;
1876 double m_f64MaxAdjustmentContrast;
1877
1884 bool m_bIntensity;
1891 double m_f64IntensityActivationRate;
1898 double m_f64MinSaturation;
1905 double m_f64MaxSaturation;
1912 double m_f64MinExposure;
1919 double m_f64MaxExposure;
1926 double m_f64MinHue;
1933 double m_f64MaxHue;
1934
1941 bool m_bGradation;
1948 double m_f64GradationActivationRate;
1955 double m_f64GradationMinAlpha;
1962 double m_f64GradationMaxAlpha;
1963
1970 bool m_bEmphasize;
1977 double m_f64EmphasizeActivationRate;
1984 int64_t m_i64MinEmphasizeKernelSize;
1991 int64_t m_i64MaxEmphasizeKernelSize;
1998 double m_f64MinEmphasizeFactor;
2005 double m_f64MaxEmphasizeFactor;
2006
2013 bool m_bGaussianBlur;
2020 double m_f64GaussianBlurActivationRate;
2027 int64_t m_i64MinGaussianBlurKernelSize;
2034 int64_t m_i64MaxGaussianBlurKernelSize;
2035
2042 bool m_bGaussianNoise;
2049 double m_f64GaussianNoiseActivationRate;
2056 double m_f64MinMean;
2063 double m_f64MaxMean;
2070 double m_f64MinStdev;
2077 double m_f64MaxStdev;
2078
2085 bool m_bAlphaBlendMask;
2092 double m_f64AlphaBlendMaskActivationRate;
2099 int64_t m_i64MinAlphaBlendMaskCount;
2106 int64_t m_i64MaxAlphaBlendMaskCount;
2113 double m_f64MinAlphaBlendMaskRatioX;
2120 double m_f64MaxAlphaBlendMaskRatioX;
2127 double m_f64MinAlphaBlendMaskRatioY;
2134 double m_f64MaxAlphaBlendMaskRatioY;
2141 double m_f64MinAlphaBlendMaskValue;
2148 double m_f64MaxAlphaBlendMaskValue;
2155 double m_f64MinAlphaBlendMaskBlendRatio;
2162 double m_f64MaxAlphaBlendMaskBlendRatio;
2163
2170 bool m_bPerspective;
2177 double m_f64PerspectiveActivationRate;
2184 double m_f64MinPerspectiveRatio;
2191 double m_f64MaxPerspectiveRatio;
2192
2199 bool m_bQuarterRotation;
2206 double m_f64QuarterRotationActivationRate;
2213 bool m_bQuarterRotationAngle0;
2220 bool m_bQuarterRotationAngle90;
2227 bool m_bQuarterRotationAngle180;
2234 bool m_bQuarterRotationAngle270;
2235
2242 bool m_bRotation;
2249 double m_f64RotationActivationRate;
2256 double m_f64MinAngle;
2263 double m_f64MaxAngle;
2270 bool m_bRectMode;
2277 bool m_bFitTensor;
2278
2285 bool m_bScale;
2292 double m_f64ScaleActivationRate;
2299 double m_f64MinScaleRatioX;
2306 double m_f64MaxScaleRatioX;
2313 double m_f64MinScaleRatioY;
2320 double m_f64MaxScaleRatioY;
2327 bool m_bPreservingScaleRatio;
2328
2335 bool m_bTranslation;
2342 double m_f64TranslationActivationRate;
2349 double m_f64MinTranslationRatioX;
2356 double m_f64MaxTranslationRatioX;
2363 double m_f64MinTranslationRatioY;
2370 double m_f64MaxTranslationRatioY;
2371
2378 bool m_bCutout;
2385 double m_f64CutoutActivationRate;
2392 int64_t m_i64MinCutoutCount;
2399 int64_t m_i64MaxCutoutCount;
2406 double m_f64MinCutoutRatioX;
2413 double m_f64MaxCutoutRatioX;
2420 double m_f64MinCutoutRatioY;
2427 double m_f64MaxCutoutRatioY;
2428 };
2429
2430 }
2431}
2432
2433#pragma pack(pop)
2434#endif
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
Definition DefinitionsGUIView3D.h:2798
@ Clear
Clear all the figure objects.
Definition DefinitionsGUI.h:2092
EBlankColorMethod
Definition DefinitionsAIModel.h:190