Research Article

Parallelized Seeded Region Growing Using CUDA

Pseudocode 1

Pseudocode of 3D region growing. num_updated is the number of updated voxels in the current iteration.
while (num_updated)
{
  if (region_mask_value(x, y, z) == 255)
  {
    if (threshold_mask_value(x, y, z) == 255)
    {
      region_mask_value(x1, y, z) threshold_mask_value(x1, y, z);
      region_mask_value(x + 1, y, z) threshold_mask_value(x + 1, y, z);
      region_mask_value(x, y1, z) threshold_mask_value(x, y1, z);
      region_mask_value(x, y + 1, z) threshold_mask_value(x, y + 1, z);
      region_mask_value(x, y, z1) threshold_mask_value(x, y, z1);
      region_mask_value(x, y, z + 1) threshold_mask_value(x, y, z + 1);
      threshold_mask_value(x, y, z) = 0;
      num_updated = num_updated + 1;
    }
  }
}