code: def normalize(self, normalize_numpy, mask_numpy=None):
      normalize_numpy = normalize_numpy.astype(float)
  
      if mask_numpy is not None:
          mask = mask_numpy > 0
      elif self.mask_zeros:
          mask = np.nonzero(normalize_numpy)
      else:
          mask = None
  
      if mask is None:
          if self.single_value is None:
              normalize_numpy[
                  normalize_numpy <= self.threshold
              ] = self.intensity_range[0]
              normalize_numpy[
                  normalize_numpy > self.threshold
              ] = self.intensity_range[1]
          else:
              normalize_numpy[
                  normalize_numpy != self.single_value
              ] = self.intensity_range[0]
              normalize_numpy[
                  normalize_numpy == self.single_value
              ] = self.intensity_range[1]
  
      else:
          raise NotImplementedError
  
      return normalize_numpy
  
imports: import subprocess
  import os
  import numpy
  from deepneuro.preprocessing.preprocessor import Preprocessor
  from deepneuro.utilities.conversion import read_image_files
  from deepneuro.utilities.util import add_parameter, quotes
label_desc: Use image node_id 2 for calling the BinaryNormalization obj's underlying member method code with example usage: obj.normalize(normalize_numpy, mask_numpy) and returns: normalize_numpy