class_docstr: This torchvision image transformation prepares the MNIST digits to be
  used in the tutorial. Depending on the number of quadrants to be used as
  inputs (1, 2, or 3), the transformation masks the remaining (3, 2, 1)
  quadrant(s) setting their pixels with -1. Additionally, the transformation
  adds the target output in the sample dict as the complementary of the input
code: def __call__(self, sample):
      tensor = sample["original"].squeeze()
      out = tensor.detach().clone()
      h, w = tensor.shape
  
      # removes the bottom left quadrant from the target output
      out[h // 2 :, : w // 2] = self.mask_with
      # if num of quadrants to be used as input is 2,
      # also removes the top left quadrant from the target output
      if self.num == 2:
          out[:, : w // 2] = self.mask_with
      # if num of quadrants to be used as input is 3,
      # also removes the top right quadrant from the target output
      if self.num == 3:
          out[: h // 2, :] = self.mask_with
  
      # now, sets the input as complementary
      inp = tensor.clone()
      inp[out != -1] = self.mask_with
  
      sample["input"] = inp
      sample["output"] = out
      return sample
  
file_path: pyro/examples/cvae/mnist.py
imports: import numpy
  import torch
  from torch.utils.data import DataLoader, Dataset
  from torchvision.transforms import Compose, functional
  from pyro.contrib.examples.util import MNIST
label_desc: Use image node_id 2 for calling the MaskImages obj's underlying member method code with example usage: obj.__call__(sample) and returns: sample