code: def compute_federated_metrics(self, ctx: Context, binned_data):
      logger.info(f"Start computing federated metrics.")
      kit = ctx.cipher.phe.setup()
      encryptor = kit.get_tensor_encryptor()
      sk, pk, evaluator, coder = (
          kit.sk,
          kit.pk,
          kit.evaluator,
          kit.coder,
      )
  
      label_tensor = binned_data.label.as_tensor()
      ctx.hosts.put("enc_y", encryptor.encrypt_tensor(label_tensor))
      ctx.hosts.put("pk", pk)
      ctx.hosts.put("evaluator", evaluator)
      ctx.hosts.put("coder", coder)
      host_col_bin = ctx.hosts.get("anonymous_col_bin")
      host_event_non_event_count = ctx.hosts.get(
          "event_non_event_count"
      )
      host_bin_sizes = ctx.hosts.get("feature_bin_sizes")
      for i, (col_bin_list, bin_sizes, en_host_count_res) in enumerate(
          zip(host_col_bin, host_bin_sizes, host_event_non_event_count)
      ):
          host_event_non_event_count_hist = en_host_count_res.decrypt(
              {"event_count": sk, "non_event_count": sk},
              {
                  "event_count": (coder, None),
                  "non_event_count": (coder, None),
              },
          )
          host_event_non_event_count_hist = (
              host_event_non_event_count_hist.reshape(bin_sizes)
          )
          summary_metrics, _ = self._bin_obj.compute_all_col_metrics(
              host_event_non_event_count_hist, col_bin_list
          )
          self._bin_obj.set_host_metrics(ctx.hosts[i], summary_metrics)
  
imports: import logging
  import numpy
  import pandas
  from fate.arch import Context
  from fate.arch.histogram import HistogramBuilder
  from ..abc.module import HeteroModule, Module
label_desc: Use image node_id 5 for calling the HeteroBinningModuleGuest obj's underlying member method code with example usage: obj.compute_federated_metrics(ctx, binned_data) without return types