5 #include <opencv2/opencv.hpp>
10 #include "complexmat.cuh"
12 #include "complexmat.hpp"
16 #define BIG_BATCH_MODE 1
18 #define BIG_BATCH_MODE 0
24 virtual void init(unsigned width, unsigned height,unsigned num_of_feats, unsigned num_of_scales) = 0;
25 virtual void set_window(const MatDynMem &window) = 0;
26 virtual void forward(const cv::Mat & real_input, ComplexMat & complex_result) = 0;
27 virtual void forward_window(MatDynMem &patch_feats_in, ComplexMat & complex_result, MatDynMem &tmp) = 0;
28 virtual void inverse(ComplexMat & complex_input, MatDynMem & real_result) = 0;
31 static cv::Size freq_size(cv::Size space_size)
33 cv::Size ret(space_size);
34 #if defined(CUFFT) || defined(FFTW)
35 ret.width = space_size.width / 2 + 1;
41 bool is_patch_feats_valid(const MatDynMem &patch_feats)
43 return patch_feats.dims == 3;
44 // && patch_feats.size[1] == width
45 // && patch_feats.size[2] == height