00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00021 #ifndef CUDA_WATERSHED_H
00022 #define CUDA_WATERSHED_H
00023
00024 #include "Watershed.h"
00025
00026 template <typename GROUP_T, typename IMAGE_T>
00027 bool init_gpu(state_t<GROUP_T, IMAGE_T>& state, int* eq_and_lower, watershed_gpu_state_t<GROUP_T, IMAGE_T>& gpu_state,
00028 unsigned int w, unsigned int h, unsigned int d);
00029
00030 template <class GROUP_T, typename IMAGE_T>
00031 bool init_gpu_on_device(watershed_gpu_state_t<GROUP_T, IMAGE_T> &gpu_state,
00032 IMAGE_T* image, int imageongpu,
00033 unsigned int w, unsigned int h, unsigned int d);
00034
00035 template <typename GROUP_T, typename IMAGE_T>
00036 void destroy_gpu(watershed_gpu_state_t<GROUP_T, IMAGE_T>& gpu_state);
00037
00038 template <typename GROUP_T, typename IMAGE_T>
00039 void update_cuda(watershed_gpu_state_t<GROUP_T, IMAGE_T>& gpu_state, GROUP_T* segments_d);
00040
00041 void guassian3D_gpu();
00042
00043 #endif