   voxelCenterDepthMap[1] = voxelCenterHomogen[1] / voxelCenterHomogen[2];
 
   // Get real pixel position (approximation)
-  int pixel[3];
+  int pixel[Point3D];
   pixel[0] = round(voxelCenterDepthMap[0]);
   pixel[1] = round(voxelCenterDepthMap[1]);
   pixel[2] = 0;

#include <math.h>
#include "ReconstructionData.h"

// ----------------------------------------------------------------------------
/* Define texture and constants */
__constant__ double c_gridMatrix[16]; // Matrix to transpose from basic axis to output volume axis
__constant__ double3 c_gridOrig; // Origin of the output volume
__constant__ int3 c_gridDims; // Dimensions of the output volume
__constant__ double3 c_gridSpacing; // Spacing of the output volume
__constant__ int2 c_depthMapDims; // Dimensions of all depths map
__constant__ double c_rayPotentialThick; // Thickness threshold for the ray potential function
__constant__ double c_rayPotentialRho; // Rho at the Y axis for the ray potential function

  // Create device data from host value
  double *d_depthMap, *d_matrixK, *d_matrixRT;
  CudaErrorCheck(cudaMalloc((void**)&d_depthMap, nbPixelOnDepthMap * sizeof(double)));
  CudaErrorCheck(cudaMalloc((void**)&d_matrixK, Mat4x4 * sizeof(double)));
  CudaErrorCheck(cudaMalloc((void**)&d_matrixRT, Mat4x4 * sizeof(double)));
  
  for (int i = 0; i < h_dataList.size(); i++)
    {
