00001 00002 #ifndef cuda_processor_h__ 00003 #define cuda_processor_h__ 1 00004 00005 #include "cuda_util.h" 00006 00007 void emdata_processor_mult(float* data, const float& mult, const int nx, const int ny, const int nz); 00008 00009 void emdata_processor_add( EMDataForCuda* cuda_data, const float& sub); 00010 00011 void emdata_processor_to_value( EMDataForCuda* cuda_data, const float& value); 00012 00013 void emdata_processor_correlation_texture( const EMDataForCuda* left,const int center); 00014 00015 void emdata_processor_correlation( const EMDataForCuda* left, const EMDataForCuda* right,const int center); 00016 00017 void emdata_unwrap(float* data, int r1, int r2, int xs, int num_pi, int dx, int dy, int weight_radial, int nx, int ny); 00018 00019 float* emdata_transform_cuda(const float* const m, const int nx, const int ny, const int nz); 00020 00021 void calc_ccf_cuda(float* afft, const float* bfft, const int nx, const int ny, const int nz); 00022 00023 void calc_conv_cuda(float* afft, const float* bfft, const int nx, const int ny, const int nz); 00024 00025 CudaPeakInfo* calc_max_location_wrap_cuda(const float* in, const int nx, const int ny, const int nz, const int maxdx, const int maxdy, const int maxdz); 00026 00027 CudaPeakInfoFloat* calc_max_location_wrap_intp_cuda(const float* in, const int nx, const int ny, const int nz, const int maxdx, const int maxdy, const int maxdz); 00028 00029 void emdata_phaseorigin_to_center(float* data, const int nx, const int ny, const int nz); 00030 00031 void emdata_phaseorigin_to_corner(float* data, const int nx, const int ny, const int nz) ; 00032 00033 void emdata_ri2ap( EMDataForCuda* cuda_data); 00034 00035 void emdata_ap2ri( EMDataForCuda* cuda_data); 00036 00037 void emdata_ri2inten( EMDataForCuda* cuda_data); 00038 00039 void binarize_fourier_amp_processor(EMDataForCuda* cuda_data,const float& threshold); 00040 00041 void mult_complex_efficient_cuda(float* data, const float* src_data, const int nx, const int ny, const int nz, const int radius); 00042 00043 void mcf_cuda(const float* data1, float* data2, const int nx, const int ny, const int nz); 00044 00045 void subtract_cuda(float* data, float f, const int nx, const int ny, const int nz); 00046 00047 float* emdata_column_sum(const float* data, const int nx, const int ny); 00048 00054 void emdata_rotate_180(float* data, const int nx, const int ny); 00055 #endif // cuda_processor_h__