10 #include <cuda_runtime.h>
41 template <
int kWindowSize,
int kWindowStep>
42 void RunWithWindowSizeAndStep();
44 void ComputeCudaConfig();
46 void BindRefImageTexture();
49 void InitSourceImages();
50 void InitTransforms();
51 void InitWorkspaceMemory();
60 dim3 sweep_block_size_;
61 dim3 sweep_grid_size_;
63 dim3 elem_wise_block_size_;
64 dim3 elem_wise_grid_size_;
72 int rotation_in_half_pi_;
75 std::unique_ptr<CudaArrayLayeredTexture<uint8_t>> ref_image_texture_;
76 std::unique_ptr<CudaArrayLayeredTexture<uint8_t>> src_images_texture_;
77 std::unique_ptr<CudaArrayLayeredTexture<float>> src_depth_maps_texture_;
93 std::unique_ptr<CudaArrayLayeredTexture<float>> poses_texture_[4];
98 float ref_K_host_[4][4];
99 float ref_inv_K_host_[4][4];
102 std::unique_ptr<GpuMatRefImage> ref_image_;
103 std::unique_ptr<GpuMat<float>> depth_map_;
104 std::unique_ptr<GpuMat<float>> normal_map_;
105 std::unique_ptr<GpuMat<float>> sel_prob_map_;
106 std::unique_ptr<GpuMat<float>> prev_sel_prob_map_;
107 std::unique_ptr<GpuMat<float>> cost_map_;
108 std::unique_ptr<GpuMatPRNG> rand_state_map_;
109 std::unique_ptr<GpuMat<uint8_t>> consistency_mask_;
113 std::unique_ptr<GpuMat<float>> global_workspace_;
NormalMap GetNormalMap() const
Mat< float > GetSelProbMap() const
PatchMatchCuda(const PatchMatchOptions &options, const PatchMatch::Problem &problem)
std::vector< int > GetConsistentImageIdxs() const
DepthMap GetDepthMap() const