refactor(modules): remove the use of a macro to create a module

This commit is contained in:
Joao Carreira
2022-11-13 21:33:54 +00:00
parent aa2725e427
commit 7dedd2f388
35 changed files with 44 additions and 123 deletions
@@ -29,10 +29,8 @@
#include "CalypModuleIf.h"
class AbsoluteFrameDifferenceExample : public CalypModuleIf
class AbsoluteFrameDifferenceExample : public CalypModuleIf, public CalypModuleInstance<AbsoluteFrameDifferenceExample>
{
REGISTER_CLASS_FACTORY( AbsoluteFrameDifferenceExample )
private:
CalypFrame* m_pcFrameDifference;
+1 -3
View File
@@ -27,10 +27,8 @@
#include "CalypModuleIf.h"
class FrameBinarizationAPIv1 : public CalypModuleIf
class FrameBinarizationAPIv1 : public CalypModuleIf, public CalypModuleInstance<FrameBinarizationAPIv1>
{
REGISTER_CLASS_FACTORY( FrameBinarizationAPIv1 )
private:
CalypFrame* m_pcBinFrame;
unsigned int m_uiThreshold;
+2 -17
View File
@@ -40,18 +40,6 @@
#include "CalypFrame.h"
#include "CalypOptions.h"
#define REGISTER_CLASS_MAKER( X ) \
extern "C" CalypModulePtr Maker() { return std::make_unique<X>(); }
#define REGISTER_CLASS_FACTORY( X ) \
public: \
X( const X& buffer ) \
noexcept = delete; \
X( X&& buffer ) \
noexcept = delete; \
auto operator=( const X& buffer )->X& = delete; \
auto operator=( X&& buffer ) noexcept->X& = delete; \
static CalypModulePtr Create() { return std::make_unique<X>(); }
#define _BASIC_MODULE_API_2_CHECK_ \
if( apcFrameList.size() != m_uiNumberOfFrames ) \
return false; \
@@ -204,10 +192,7 @@ public:
void destroy();
// API using OpenCV
virtual cv::Mat* create_using_opencv( const std::vector<Mat>& apcFrameList )
{
return nullptr;
};
virtual cv::Mat* create_using_opencv( const std::vector<Mat>& apcFrameList ) { return nullptr; };
virtual Mat* process_using_opencv( const std::vector<Mat>& apcFrameList ) = 0;
virtual void destroy_using_opencv(){};
@@ -220,7 +205,7 @@ protected:
using CalypModulePtr = std::unique_ptr<CalypModuleIf>;
template <typename T>
class CalypModuleInstace
class CalypModuleInstance
{
public:
static CalypModulePtr Create() { return std::make_unique<T>(); }
+2 -3
View File
@@ -28,8 +28,7 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class AbsoluteFrameDifference : public CalypModuleIf,
public CalypModuleInstace<AbsoluteFrameDifference>
class AbsoluteFrameDifference : public CalypModuleIf, public CalypModuleInstance<AbsoluteFrameDifference>
{
private:
std::unique_ptr<CalypFrame> m_pcFrameDifference;
@@ -40,4 +39,4 @@ public:
CalypFrame* process( std::vector<CalypFrame*> apcFrameList );
};
#endif // __FRAMEDIFFERENCE_H__
#endif // __ABSOLUTEFRAMEDIFFERENCE_H__
+1 -3
View File
@@ -32,10 +32,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class DisparityStereoBM : public CalypModuleIf
class DisparityStereoBM : public CalypModuleIf, public CalypModuleInstance<DisparityStereoBM>
{
REGISTER_CLASS_FACTORY( DisparityStereoBM )
private:
CalypFrame* m_pcDisparityFrame;
int m_uiNumberOfDisparities;
+1 -3
View File
@@ -51,10 +51,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class DisparityStereoSGBM : public CalypModuleIf
class DisparityStereoSGBM : public CalypModuleIf, public CalypModuleInstance<DisparityStereoSGBM>
{
REGISTER_CLASS_FACTORY( DisparityStereoSGBM )
private:
CalypFrame* m_pcDisparityFrame;
bool m_bUseHH;
+1 -3
View File
@@ -32,10 +32,8 @@
// CalypLib
#include "CalypModuleIf.h"
class DisparityStereoVar : public CalypModuleIf
class DisparityStereoVar : public CalypModuleIf, public CalypModuleInstance<DisparityStereoVar>
{
REGISTER_CLASS_FACTORY( DisparityStereoVar )
private:
CalypFrame* m_pcDisparityFrame;
cv::StereoVar m_cStereoVar;
+1 -2
View File
@@ -32,8 +32,7 @@
#include <opencv2/core/core.hpp>
#include <opencv2/saliency.hpp>
class DummyOpencvModule : public CalypOpenCVModuleIf,
public CalypModuleInstace<DummyOpencvModule>
class DummyOpencvModule : public CalypOpenCVModuleIf, public CalypModuleInstance<DummyOpencvModule>
{
using Mat = cv::Mat;
+1 -3
View File
@@ -28,10 +28,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class EightBitsSampling : public CalypModuleIf
class EightBitsSampling : public CalypModuleIf, public CalypModuleInstance<EightBitsSampling>
{
REGISTER_CLASS_FACTORY( EightBitsSampling )
private:
int m_iNumberOfBits;
int m_iBitSifting;
+3 -6
View File
@@ -44,8 +44,7 @@ public:
CalypFrame* filterComponent( CalypFrame* InputFrame, int Component );
};
class FilterComponentLuma : public FilterComponentModule,
public CalypModuleInstace<FilterComponentLuma>
class FilterComponentLuma : public FilterComponentModule, public CalypModuleInstance<FilterComponentLuma>
{
public:
FilterComponentLuma();
@@ -54,8 +53,7 @@ public:
CalypFrame* process( std::vector<CalypFrame*> apcFrameList );
};
class FilterComponentChromaU : public FilterComponentModule,
public CalypModuleInstace<FilterComponentChromaU>
class FilterComponentChromaU : public FilterComponentModule, public CalypModuleInstance<FilterComponentChromaU>
{
public:
FilterComponentChromaU();
@@ -64,8 +62,7 @@ public:
CalypFrame* process( std::vector<CalypFrame*> apcFrameList );
};
class FilterComponentChromaV : public FilterComponentModule,
public CalypModuleInstace<FilterComponentChromaV>
class FilterComponentChromaV : public FilterComponentModule, public CalypModuleInstance<FilterComponentChromaV>
{
public:
FilterComponentChromaV();
+1 -3
View File
@@ -28,10 +28,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class FrameBinarization : public CalypModuleIf
class FrameBinarization : public CalypModuleIf, public CalypModuleInstance<FrameBinarization>
{
REGISTER_CLASS_FACTORY( FrameBinarization )
private:
CalypFrame* m_pcBinFrame;
unsigned int m_uiThreshold;
+1 -3
View File
@@ -28,10 +28,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class FrameConcatenation : public CalypModuleIf
class FrameConcatenation : public CalypModuleIf, public CalypModuleInstance<FrameConcatenation>
{
REGISTER_CLASS_FACTORY( FrameConcatenation )
private:
CalypFrame* m_pcProcessedFrame;
int m_iShiftHor;
+1 -3
View File
@@ -28,10 +28,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class FrameCrop : public CalypModuleIf
class FrameCrop : public CalypModuleIf, public CalypModuleInstance<FrameCrop>
{
REGISTER_CLASS_FACTORY( FrameCrop )
private:
CalypFrame* m_pcCropedFrame;
unsigned int m_uiXPosition;
+1 -3
View File
@@ -28,10 +28,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class FrameDifference : public CalypModuleIf
class FrameDifference : public CalypModuleIf, public CalypModuleInstance<FrameDifference>
{
REGISTER_CLASS_FACTORY( FrameDifference )
private:
unsigned int m_uiBitsPixel;
unsigned int m_uiSumOperation;
+1 -3
View File
@@ -28,10 +28,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class FrameMask : public CalypModuleIf
class FrameMask : public CalypModuleIf, public CalypModuleInstance<FrameMask>
{
REGISTER_CLASS_FACTORY( FrameMask )
private:
int m_iWeight;
CalypFrame* m_pcFrameProcessed;
+1 -2
View File
@@ -36,9 +36,8 @@
* @}
*/
class FrameResampling : public CalypModuleIf
class FrameResampling : public CalypModuleIf, public CalypModuleInstance<FrameResampling>
{
REGISTER_CLASS_FACTORY( FrameResampling )
private:
int m_iWidth;
int m_iHeight;
+1 -3
View File
@@ -28,10 +28,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class FrameRotate : public CalypModuleIf
class FrameRotate : public CalypModuleIf, public CalypModuleInstance<FrameRotate>
{
REGISTER_CLASS_FACTORY( FrameRotate )
private:
int m_iAngle;
CalypFrame* m_pcFrameProcessed;
+1 -3
View File
@@ -28,10 +28,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class FrameShift : public CalypModuleIf
class FrameShift : public CalypModuleIf, public CalypModuleInstance<FrameShift>
{
REGISTER_CLASS_FACTORY( FrameShift )
private:
CalypFrame* m_pcProcessedFrame;
int m_iShiftHor;
+1 -3
View File
@@ -28,10 +28,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class HEVCIntraPrediction : public CalypModuleIf
class HEVCIntraPrediction : public CalypModuleIf, public CalypModuleInstance<HEVCIntraPrediction>
{
REGISTER_CLASS_FACTORY( HEVCIntraPrediction )
private:
CalypFrame* m_pcPredBlock;
unsigned int m_uiMode;
+1 -3
View File
@@ -29,10 +29,8 @@
#include "lib/CalypFrame.h"
#include "lib/CalypModuleIf.h"
class InterFrameVariance : public CalypModuleIf
class InterFrameVariance : public CalypModuleIf, public CalypModuleInstance<InterFrameVariance>
{
REGISTER_CLASS_FACTORY( InterFrameVariance )
private:
CalypFrame* m_pcFrameVariance;
CalypPlane<double> m_pVariance;
+1 -3
View File
@@ -28,10 +28,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class LumaAverage : public CalypModuleIf
class LumaAverage : public CalypModuleIf, public CalypModuleInstance<LumaAverage>
{
REGISTER_CLASS_FACTORY( LumaAverage )
private:
public:
LumaAverage();
+1 -3
View File
@@ -31,10 +31,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class MeasureOpticalFlowDualTVL1 : public CalypModuleIf
class MeasureOpticalFlowDualTVL1 : public CalypModuleIf, public CalypModuleInstance<MeasureOpticalFlowDualTVL1>
{
REGISTER_CLASS_FACTORY( MeasureOpticalFlowDualTVL1 )
private:
bool m_bShowReconstruction;
int m_iStep;
+4 -8
View File
@@ -53,36 +53,32 @@ public:
void destroy();
};
class OpticalFlowDualTVL1 : public OpticalFlowModule
class OpticalFlowDualTVL1 : public OpticalFlowModule, public CalypModuleInstance<OpticalFlowDualTVL1>
{
REGISTER_CLASS_FACTORY( OpticalFlowDualTVL1 )
public:
OpticalFlowDualTVL1();
virtual ~OpticalFlowDualTVL1() {}
bool create( std::vector<CalypFrame*> apcFrameList );
};
class OpticalFlowSparseToDense : public OpticalFlowModule
class OpticalFlowSparseToDense : public OpticalFlowModule, public CalypModuleInstance<OpticalFlowSparseToDense>
{
REGISTER_CLASS_FACTORY( OpticalFlowSparseToDense )
public:
OpticalFlowSparseToDense();
virtual ~OpticalFlowSparseToDense() {}
bool create( std::vector<CalypFrame*> apcFrameList );
};
class OpticalFlowFarneback : public OpticalFlowModule
class OpticalFlowFarneback : public OpticalFlowModule, public CalypModuleInstance<OpticalFlowFarneback>
{
REGISTER_CLASS_FACTORY( OpticalFlowFarneback )
public:
OpticalFlowFarneback();
virtual ~OpticalFlowFarneback() {}
bool create( std::vector<CalypFrame*> apcFrameList );
};
class OpticalDeepFlow : public OpticalFlowModule
class OpticalDeepFlow : public OpticalFlowModule, public CalypModuleInstance<OpticalDeepFlow>
{
REGISTER_CLASS_FACTORY( OpticalDeepFlow )
public:
OpticalDeepFlow();
virtual ~OpticalDeepFlow() {}
+1 -3
View File
@@ -29,10 +29,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class OptimiseDisplay : public CalypModuleIf
class OptimiseDisplay : public CalypModuleIf, public CalypModuleInstance<OptimiseDisplay>
{
REGISTER_CLASS_FACTORY( OptimiseDisplay )
private:
std::unique_ptr<CalypFrame> m_pcOptimisedFrame;
+1 -3
View File
@@ -26,10 +26,8 @@
#include "lib/CalypModuleIf.h"
class SaliencyBasedFiltering : public CalypModuleIf
class SaliencyBasedFiltering : public CalypModuleIf, public CalypModuleInstance<SaliencyBasedFiltering>
{
REGISTER_CLASS_FACTORY( SaliencyBasedFiltering )
private:
std::unique_ptr<CalypFrame> m_pcProcessedFrame;
+3 -4
View File
@@ -65,8 +65,7 @@ public:
* approach. In Computer Vision and Pattern Recognition, 2007.
* CVPR'07. IEEE Conference on, pages 1–8. IEEE, 2007.
*/
class SaliencyDetectionSpectral : public SaliencyDetectionModule,
public CalypModuleInstace<SaliencyDetectionSpectral>
class SaliencyDetectionSpectral : public SaliencyDetectionModule, public CalypModuleInstance<SaliencyDetectionSpectral>
{
using Mat = cv::Mat;
@@ -91,7 +90,7 @@ public:
* In Image and Vision Computing, Vol. 28 Issue 3, pages 391–402. Elsevier, 2010.
*/
class SaliencyDetectionFineGrained : public SaliencyDetectionModule,
public CalypModuleInstace<SaliencyDetectionFineGrained>
public CalypModuleInstance<SaliencyDetectionFineGrained>
{
using Mat = cv::Mat;
@@ -110,7 +109,7 @@ public:
* in proc of IEEE Workshop on Change Detection, 2014
*/
class SaliencyDetectionBinWangApr2014 : public SaliencyDetectionModule,
public CalypModuleInstace<SaliencyDetectionBinWangApr2014>
public CalypModuleInstance<SaliencyDetectionBinWangApr2014>
{
using Mat = cv::Mat;
+1 -3
View File
@@ -28,10 +28,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class SetChromaHalfScale : public CalypModuleIf
class SetChromaHalfScale : public CalypModuleIf, public CalypModuleInstance<SetChromaHalfScale>
{
REGISTER_CLASS_FACTORY( SetChromaHalfScale )
private:
CalypFrame* m_pcProcessedFrame;
+1 -2
View File
@@ -31,8 +31,7 @@
// OpenCV
#include <opencv2/core/core.hpp>
class ShapeDetection : public CalypOpenCVModuleIf,
public CalypModuleInstace<ShapeDetection>
class ShapeDetection : public CalypOpenCVModuleIf, public CalypModuleInstance<ShapeDetection>
{
using Mat = cv::Mat;
+1 -2
View File
@@ -34,9 +34,8 @@ using cv::Mat;
using cv::Mat_;
using cv::Point;
class ThreeSixtyDownsampling : public CalypModuleIf
class ThreeSixtyDownsampling : public CalypModuleIf, public CalypModuleInstance<ThreeSixtyDownsampling>
{
REGISTER_CLASS_FACTORY( ThreeSixtyDownsampling )
private:
unsigned m_uiDownsampling;
unsigned m_uiX0;
+1 -3
View File
@@ -43,10 +43,8 @@ struct ClpVideoFPStruct
ClpFaceProperty faces[60];
};
class ThreeSixtyDynamicDownsampling : public CalypModuleIf
class ThreeSixtyDynamicDownsampling : public CalypModuleIf, public CalypModuleInstance<ThreeSixtyDynamicDownsampling>
{
REGISTER_CLASS_FACTORY( ThreeSixtyDynamicDownsampling )
private:
std::string m_arrayInputDefinitionString;
std::string m_arrayOutputDefinitionString;
+1 -3
View File
@@ -27,10 +27,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class ThreeSixtyFaceConcatenation : public CalypModuleIf
class ThreeSixtyFaceConcatenation : public CalypModuleIf, public CalypModuleInstance<ThreeSixtyFaceConcatenation>
{
REGISTER_CLASS_FACTORY( ThreeSixtyFaceConcatenation )
private:
std::unique_ptr<CalypFrame> m_pcConcatenatedFaces;
unsigned m_uiProjectionType;
+1 -3
View File
@@ -27,10 +27,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class ThreeSixtyFaceExtraction : public CalypModuleIf
class ThreeSixtyFaceExtraction : public CalypModuleIf, public CalypModuleInstance<ThreeSixtyFaceExtraction>
{
REGISTER_CLASS_FACTORY( ThreeSixtyFaceExtraction )
private:
std::unique_ptr<CalypFrame> m_pcFrameExtractionFrame;
std::unique_ptr<CalypFrame> m_pcTmpFrame;
+1 -2
View File
@@ -34,9 +34,8 @@ using cv::Mat;
using cv::Mat_;
using cv::Point;
class ThreeSixtyNxN : public CalypModuleIf
class ThreeSixtyNxN : public CalypModuleIf, public CalypModuleInstance<ThreeSixtyNxN>
{
REGISTER_CLASS_FACTORY( ThreeSixtyNxN )
private:
unsigned m_uiDownsampling;
CalypFrame* m_pcOutputFrame;
+1 -3
View File
@@ -28,10 +28,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class ThreeSixtySpatialtoTemporal : public CalypModuleIf
class ThreeSixtySpatialtoTemporal : public CalypModuleIf, public CalypModuleInstance<ThreeSixtySpatialtoTemporal>
{
REGISTER_CLASS_FACTORY( ThreeSixtySpatialtoTemporal )
private:
std::unique_ptr<CalypFrame> m_pcTempSpatialFrame;
std::unique_ptr<CalypFrame> m_pcTmpInputFrame;
+1 -3
View File
@@ -28,10 +28,8 @@
// CalypLib
#include "lib/CalypModuleIf.h"
class WeightedPSNR : public CalypModuleIf
class WeightedPSNR : public CalypModuleIf, public CalypModuleInstance<WeightedPSNR>
{
REGISTER_CLASS_FACTORY( WeightedPSNR )
private:
unsigned int m_uiComponent;