class_docstr: Minimal interface for a NiftyNet evaluation
docstr: Perform one evaluation calculation for one subject
  :param subject_id:  subject identifier string
  :param data:  a data dictionary as built by ImageReader
  :return: a list of pandas.DataFrame objects
code: def layer_op(self, subject_id, data):
      """
      Perform one evaluation calculation for one subject
      :param subject_id:  subject identifier string
      :param data:  a data dictionary as built by ImageReader
      :return: a list of pandas.DataFrame objects
      """
      raise NotImplementedError(
          "not implemented in abstract base class"
      )
  
file_path: NiftyNet/niftynet/evaluation/base_evaluations.py
imports: from __future__ import absolute_import, division, print_function
  import pandas
  from niftynet.layer.base_layer import Layer
label_desc: Use image node_id 3 for calling the BaseEvaluation obj's underlying member method code with example usage: obj.layer_op(subject_id, data) without return types