 		//Mat1i init_labels;
 		//d_block_labels_.download(init_labels);
 
-		Merge << <grid_size_, block_size_ >> >(d_img_, d_img_labels_);
+		Merge << <grid_size_, block_size_ >> > (d_img_, d_img_labels_);
 
 		//Mat1i block_info_final;
 		//d_img_labels_.download(block_info_final);		
 
-		Compression << <grid_size_, block_size_ >> >(d_img_labels_);
-
-		FinalLabeling << <grid_size_, block_size_ >> >(d_img_, d_img_labels_);
+		Compression << <grid_size_, block_size_ >> > (d_img_labels_);
+
+		FinalLabeling << <grid_size_, block_size_ >> > (d_img_, d_img_labels_);
 
 		cudaDeviceSynchronize();
 	}

		//Mat1i init_labels;
		//d_block_labels_.download(init_labels);

		Merge << <grid_size_, block_size_ >> >(d_img_, d_img_labels_);

		//Mat1i block_info_final;
		//d_img_labels_.download(block_info_final);		

		Compression << <grid_size_, block_size_ >> >(d_img_labels_);

		FinalLabeling << <grid_size_, block_size_ >> >(d_img_, d_img_labels_);

		// d_img_labels_.download(img_labels_);
		cudaDeviceSynchronize();

		return n;
	}

	// Unisce gli alberi contenenti i nodi a e b, collegandone le radici
	__device__ void Union(int *s_buf, unsigned a, unsigned b) {

