class_docstr: This one finds a mask of nonzero elements (must be nonzero in all modalities) and crops the image to that mask.
  In the case of BRaTS and ISLES data this results in a significant reduction in image size.
  Args:
      num_threads (int): Number of threads. Default: None.
      output_folder (str, None): path to store the cropped data. Default: None.
code: def crop(data, properties, seg=None):
      data, seg, bbox = crop_to_nonzero(data, seg, nonzero_label=-1)
      properties["crop_bbox"] = bbox
      properties["classes"] = np.unique(seg)
      seg[seg < -1] = 0
      properties["size_after_cropping"] = data[0].shape
      return data, seg, properties
  
imports: import os
  import json
  import shutil
  import pickle
  import numpy
  import SimpleITK
  from scipy.ndimage import binary_fill_holes
  from multiprocessing import Pool
  from collections import OrderedDict
  from .path_utils import join_paths
label_desc: Use image node_id 2 for calling the ImageCropper obj's underlying member method code with example usage: obj.crop(data, properties, seg) and returns: data,  seg,  properties