code: def determine_whether_to_use_mask_for_norm(self):
      modalities = self.dataset_properties["modalities"]
      num_modalities = len(list(modalities.keys()))
      use_nonzero_mask_for_norm = OrderedDict()
  
      for i in range(num_modalities):
          if "CT" in modalities[i]:
              use_nonzero_mask_for_norm[i] = False
          else:
              all_size_reductions = []
              for k in self.dataset_properties[
                  "size_reductions"
              ].keys():
                  all_size_reductions.append(
                      self.dataset_properties["size_reductions"][k]
                  )
  
              if np.median(all_size_reductions) < 3 / 4.0:
                  print("using nonzero mask for normalization")
                  use_nonzero_mask_for_norm[i] = True
              else:
                  print("not using nonzero mask for normalization")
                  use_nonzero_mask_for_norm[i] = False
  
      for c in self.list_of_cropped_npz_files:
          case_identifier = get_case_identifier_from_npz(c)
          properties = self.load_properties_of_cropped(case_identifier)
          properties[
              "use_nonzero_mask_for_norm"
          ] = use_nonzero_mask_for_norm
          self.save_properties_of_cropped(case_identifier, properties)
      use_nonzero_mask_for_normalization = use_nonzero_mask_for_norm
      return use_nonzero_mask_for_normalization
  
imports: import os
  import pickle
  import shutil
  from collections import OrderedDict
  from .image_crop import get_case_identifier_from_npz
  from .preprocessing import GenericPreprocessor, PreprocessorFor2D
  from .experiment_utils import *
  from .path_utils import join_paths
label_desc: Use image node_id 10 for calling the ExperimentPlanner obj's underlying member method code with example usage: obj.determine_whether_to_use_mask_for_norm() and returns: use_nonzero_mask_for_normalization