   return (k*dimY + j)*dimX + i;
 }
 
+
+// ----------------------------------------------------------------------------
+/* Compute the middle of a voxel according to constant global value and the origin of the voxel */
 __device__ void computeVoxelCenter(int voxelCoordinate[3], double output[3])
 {
   output[0] = c_gridOrig.x + (voxelCoordinate[0] + 0.5) * c_gridSpacing.x;



// ----------------------------------------------------------------------------
__device__ void transformFrom4Matrix(double matrix[16], double point[3], double output[3])
{
  output[0] = matrix[0] * point[0] + matrix[1] * point[1] + matrix[2] * point[2] + matrix[3];



// ----------------------------------------------------------------------------
/* Extract data from a 4x4 vtkMatrix and fill a double table with 16 space */
__host__ void vtkMatrixToDoubleTable(vtkMatrix4x4* matrix, double* output)
{
  output[0] = matrix->GetElement(0, 0);
