class_docstr: This class handles iteration events to log summaries to
  the TensorBoard log.
docstr: Get TensorBoard summary_op from application at the
  beginning of each iteration.
  
  :param sender: a niftynet.application instance
  :param msg: should contain an IterationMessage instance
code: def read_tensorboard_op(self, sender, **msg):
      """
      Get TensorBoard summary_op from application at the
      beginning of each iteration.
  
      :param sender: a niftynet.application instance
      :param msg: should contain an IterationMessage instance
      """
      _iter_msg = msg["iter_msg"]
      if _iter_msg.is_inference:
          return
      if not self._is_writing(_iter_msg.current_iter):
          return
      tf_summary_ops = sender.outputs_collector.variables(TF_SUMMARIES)
      _iter_msg.ops_to_run[TF_SUMMARIES] = tf_summary_ops
  
file_path: NiftyNet/niftynet/engine/handler_tensorboard.py
imports: import os
  import tensorflow
  from niftynet.engine.application_variables import TF_SUMMARIES
  from niftynet.engine.signal import TRAIN, VALID, ITER_STARTED, ITER_FINISHED, GRAPH_CREATED
  from niftynet.io.misc_io import get_latest_subfolder
label_desc: Use image node_id 3 for calling the TensorBoardLogger obj's underlying member method code with example usage: obj.read_tensorboard_op(sender) without return types