class_docstr: Implemented from https://stackoverflow.com/questions/31400769/bounding-box-of-numpy-array
  Removes all rows/columns/etc composed only of the provided values.
  
  mask_value: int
      Value to be cropped. Currently, only 0 supported.
  lead_data_group: str
      If provided, multiple data groups will be cropped according
      to the bounding box determined in the lead_data_group. Only
      applicable if different data_groups have the same shape. None
      by default, meaning that all data groups are cropped on an
      individual basis.
code: def initialize(self, data_collection):
      super(CropValues, self).initialize(data_collection)
  
      if self.lead_data_group is not None:
          # Complex code to bring the lead data group to the front.
          lead_idx = None
          for idx, value in enumerate(self.data_groups_iterator):
              if value[0] == self.lead_data_group:
                  lead_idx = idx
  
          self.data_groups_iterator.insert(
              0, self.data_groups_iterator.pop(lead_idx)
          )
  
      return
  
imports: import subprocess
  import os
  import numpy
  import itertools
  from deepneuro.preprocessing.preprocessor import Preprocessor
  from deepneuro.utilities.util import add_parameter, quotes
label_desc: Use image node_id 2 for calling the CropValues obj's underlying member method code with example usage: obj.initialize(data_collection) without return types