EMAN2
Functions
cuda_processor.h File Reference
#include "cuda_util.h"
Include dependency graph for cuda_processor.h:

Go to the source code of this file.

Functions

void emdata_processor_mult (float *data, const float &mult, const int nx, const int ny, const int nz)
void emdata_processor_add (EMDataForCuda *cuda_data, const float &sub)
void emdata_processor_to_value (EMDataForCuda *cuda_data, const float &value)
void emdata_processor_correlation_texture (const EMDataForCuda *left, const int center)
void emdata_processor_correlation (const EMDataForCuda *left, const EMDataForCuda *right, const int center)
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)
float * emdata_transform_cuda (const float *const m, const int nx, const int ny, const int nz)
void calc_ccf_cuda (float *afft, const float *bfft, const int nx, const int ny, const int nz)
void calc_conv_cuda (float *afft, const float *bfft, const int nx, const int ny, const int nz)
CudaPeakInfocalc_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)
CudaPeakInfoFloatcalc_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)
void emdata_phaseorigin_to_center (float *data, const int nx, const int ny, const int nz)
void emdata_phaseorigin_to_corner (float *data, const int nx, const int ny, const int nz)
void emdata_ri2ap (EMDataForCuda *cuda_data)
void emdata_ap2ri (EMDataForCuda *cuda_data)
void emdata_ri2inten (EMDataForCuda *cuda_data)
void binarize_fourier_amp_processor (EMDataForCuda *cuda_data, const float &threshold)
void mult_complex_efficient_cuda (float *data, const float *src_data, const int nx, const int ny, const int nz, const int radius)
void mcf_cuda (const float *data1, float *data2, const int nx, const int ny, const int nz)
void subtract_cuda (float *data, float f, const int nx, const int ny, const int nz)
float * emdata_column_sum (const float *data, const int nx, const int ny)
void emdata_rotate_180 (float *data, const int nx, const int ny)
 Rotates by 180 degrees using memory swapping, uses shared memory for efficiency Works on 2D images - they can be odd in any dimension.

Function Documentation

void binarize_fourier_amp_processor ( EMDataForCuda cuda_data,
const float &  threshold 
)
void calc_ccf_cuda ( float *  afft,
const float *  bfft,
const int  nx,
const int  ny,
const int  nz 
)
void calc_conv_cuda ( float *  afft,
const float *  bfft,
const int  nx,
const int  ny,
const int  nz 
)

Referenced by EMAN::EMData::calc_ccf().

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 
)
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 
)
void emdata_ap2ri ( EMDataForCuda cuda_data)
float* emdata_column_sum ( const float *  data,
const int  nx,
const int  ny 
)

Referenced by EMAN::EMData::calc_ccfx().

void emdata_phaseorigin_to_center ( float *  data,
const int  nx,
const int  ny,
const int  nz 
)
void emdata_phaseorigin_to_corner ( float *  data,
const int  nx,
const int  ny,
const int  nz 
)
void emdata_processor_add ( EMDataForCuda cuda_data,
const float &  sub 
)
void emdata_processor_correlation ( const EMDataForCuda left,
const EMDataForCuda right,
const int  center 
)
void emdata_processor_correlation_texture ( const EMDataForCuda left,
const int  center 
)
void emdata_processor_mult ( float *  data,
const float &  mult,
const int  nx,
const int  ny,
const int  nz 
)

Referenced by EMAN::EMData::mult().

void emdata_processor_to_value ( EMDataForCuda cuda_data,
const float &  value 
)
void emdata_ri2ap ( EMDataForCuda cuda_data)
void emdata_ri2inten ( EMDataForCuda cuda_data)
void emdata_rotate_180 ( float *  data,
const int  nx,
const int  ny 
)

Rotates by 180 degrees using memory swapping, uses shared memory for efficiency Works on 2D images - they can be odd in any dimension.

Parameters:
cuda_dataan EMDataForCuda struct - should have the data from a 2D image - doesn't check this, it's assumed that the calling function knows what it's doing no return, processes the data inplace

Referenced by EMAN::Rotate180Processor::process_inplace().

float* emdata_transform_cuda ( const float *const  m,
const int  nx,
const int  ny,
const int  nz 
)
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 
)

Referenced by EMAN::EMData::unwrap().

void mcf_cuda ( const float *  data1,
float *  data2,
const int  nx,
const int  ny,
const int  nz 
)
void mult_complex_efficient_cuda ( float *  data,
const float *  src_data,
const int  nx,
const int  ny,
const int  nz,
const int  radius 
)
void subtract_cuda ( float *  data,
float  f,
const int  nx,
const int  ny,
const int  nz 
)

Referenced by EMAN::EMData::sub().