     // Create dst bitmap image (empty for now)
     *dst_bitmap = createBitmap((*src_bitmap)->width, (*src_bitmap)->height, (*src_bitmap)->depth);
     assert((*dst_bitmap != NULL) && "Error: could not allocate memory for dst_bitmap");
-
-    printf("image information\n");
-    printf("=================\n");
-    printf("    width = %u\n", (*src_bitmap)->width);
-    printf("    height = %u\n", (*src_bitmap)->height);
-    printf("    white pixels = %d%%\n", (int) (percentage_white_pixels(*src_bitmap) * 100));
-    printf("    black pixels = %d%%\n", (int) (percentage_black_pixels(*src_bitmap) * 100));
 
     // check for cuda-capable device
     int cuda_device_count;

    } else {
        printf("false\n");
    }

    // Dimensions of computing elements on the CUDA device.
    int block_dim_x = strtol(block_dim_x_string, NULL, 10);
    int block_dim_y = strtol(block_dim_y_string, NULL, 10);
    assert(((block_dim_x * block_dim_y) <= cuda_device_properties.maxThreadsPerBlock) && "Error: Using more threads than permitted by maxThreadsPerBlock");
    assert((((block_dim_x * block_dim_y) % cuda_device_properties.warpSize) == 0) && "Error: Must use thread count which is a multiple of warpSize");

    int grid_dim_x = (int) ceil(((*src_bitmap)->width) / ((double) block_dim_x));
    int grid_dim_y = (int) ceil(((*src_bitmap)->height)/ ((double) block_dim_y));

    grid_dim->y = grid_dim_y;
    grid_dim->z = 1;

    printf("src_fname = %s\n", src_fname);
    printf("dst_fname = %s\n", dst_fname);
    printf("\n");

    printf("image information\n");
    printf("=================\n");
    printf("    width = %u\n", (*src_bitmap)->width);
    printf("    height = %u\n", (*src_bitmap)->height);
    printf("    white pixels = %d%%\n", (int) (percentage_white_pixels(*src_bitmap) * 100));
    printf("    black pixels = %d%%\n", (int) (percentage_black_pixels(*src_bitmap) * 100));
    printf("\n");

    printf("cuda runtime information\n");
    printf("========================\n");
    printf("    block dim X = %u\n", block_dim_x);
    printf("    block dim Y = %u\n", block_dim_y);
    printf("    grid dim X = %u\n", grid_dim_x);
    printf("    grid dim Y = %u\n", grid_dim_y);
    printf("\n");

    // Pad the binary images with pixels on the right and bottom. This will be
    // useful when implementing the skeletonization algorithm, as we can make
