code: def compute_child(
      self,
      weak_child: "HistogramPlainValues",
      positions: List[Tuple[int, int, int, int, int, int, int, int]],
      size,
  ):
      data = torch.zeros(size * self.stride, dtype=self.data.dtype)
      data_view = data.view(-1, self.stride)
  
      parent_data_view = self.data.view(-1, self.stride)
      weak_child_data_view = weak_child.data.view(-1, self.stride)
  
      for (
          target_weak_child_start,
          target_weak_child_end,
          target_strong_child_start,
          target_strong_child_end,
          parent_data_start,
          parent_data_end,
          weak_child_data_start,
          weak_child_data_end,
      ) in positions:
          # copy data from weak child to correct position
          data_view[
              target_weak_child_start:target_weak_child_end
          ] = weak_child_data_view[
              weak_child_data_start:weak_child_data_end
          ]
          # compute strong child data
          data_view[
              target_strong_child_start:target_strong_child_end
          ] = (
              parent_data_view[parent_data_start:parent_data_end]
              - weak_child_data_view[
                  weak_child_data_start:weak_child_data_end
              ]
          )
      return HistogramPlainValues(data, self.dtype, size, self.stride)
  
imports: import logging
  import typing
  from typing import List, Tuple
  import torch
  from ._value import HistogramValues
  from ..indexer import Shuffler
label_desc: Use image node_id 15 for calling the HistogramPlainValues obj's underlying member method code with example usage: obj.compute_child(weak_child, positions, size) and returns: HistogramPlainValues