class_docstr: Helper class to merge volume segmentations on CPU/GPU.
class_docstr_tok: ["Helper","class","to","merge","volume","segmentations","on","CPU\/GPU","."]
docstr: Accumulates single element
  :param sample: Predicted image of shape [C,D,H,W]
  :param crop_coords: Corresponding tile crops w.r.t to original image
docstr_tok: ["Accumulates","single","element",":","param","sample",":","Predicted","image","of","shape","[","C",",","D",",","H",",","W","]",":","param","crop_coords",":","Corresponding","tile","crops","w.r.t","to","original","image"]
code: def accumulate_single(self, tile: torch.Tensor, roi):
      """
      Accumulates single element
      :param sample: Predicted image of shape [C,D,H,W]
      :param crop_coords: Corresponding tile crops w.r.t to original image
      """
      tile = tile.to(device=self.volume.device)
      self.volume[:, roi] += tile * self.weight
      self.norm_mask[:, roi] += self.weight
  
file_path: pytorch-toolbelt/pytorch_toolbelt/inference/tiles_3d.py
imports: from typing import Union, Tuple, List, Iterable, Any
  import numpy
  import torch
  from pytorch_toolbelt.inference import compute_pyramid_patch_weight_loss
label_desc: Use image node_id 2 for calling the VolumeMerger obj's underlying member method code with example usage: obj.accumulate_single(tile, roi) without return types