 #define KERNELS_CU_
 
 #include "common.h"
-#include "PointSpreadFunc.h"
+//#include "PointSpreadFunc.h"
 #include <helper_cuda.h>
 #include <stdio.h>
 #include <float.h>

}

extern "C" void deviceConvolve(float *sourceImg, float *resultImg,
int width, int height, PointSpreadFunc *PSF)
{
	// Pointers to device memory //
	float *deviceKernel;

	dim3 threads(CONV_THREAD_DIM,CONV_THREAD_DIM);

	// Allocate Device memory
	checkCudaErrors(cudaMalloc((void **)&deviceKernel, sizeof(float)*psfSize));
	checkCudaErrors(cudaMalloc((void **)&deviceSourceImg, sizeof(float)*pixelsPerImage));
	checkCudaErrors(cudaMalloc((void **)&deviceResultImg, sizeof(float)*pixelsPerImage));

	checkCudaErrors(cudaMemcpy(deviceKernel, psfKernel,
		sizeof(float)*psfSize, cudaMemcpyHostToDevice));

	checkCudaErrors(cudaMemcpy(deviceSourceImg, sourceImg,
		sizeof(float)*pixelsPerImage, cudaMemcpyHostToDevice));

	convolvePSF<<<blocks, threads>>> (width, height, deviceSourceImg,
		deviceResultImg, deviceKernel, psfRadius, psfDim, psfSum, NO_DATA);

	checkCudaErrors(cudaMemcpy(resultImg, deviceResultImg,
		sizeof(float)*pixelsPerImage, cudaMemcpyDeviceToHost));
