class_docstr: The base evaluator defines a simple evaluations that iterates through
  subjects and computes each metric in sequence
  
  Sub-classes should overload the default_evaluation_list with
  application-specific metrics
  If a particular ordering of computations per subject is needed, sub-class
  can override the evaluate_next method; if a particular ordering of
  subjects is needed, subclasses can override the evaluate method.
class_docstr_tok: ["The","base","evaluator","defines","a","simple","evaluations","that","iterates","through","subjects","and","computes","each","metric","in","sequence","Sub-classes","should","overload","the","default_evaluation_list","with","application-specific","metrics","If","a","particular","ordering","of","computations","per","subject","is","needed",",","sub-class","can","override","the","evaluate_next","method",";","if","a","particular","ordering","of","subjects","is","needed",",","subclasses","can","override","the","evaluate","method","."]
docstr: :return: List of EvaluationFactory strings defining the evaluations
  to compute if no evaluations are specified in the configuration
docstr_tok: [":","return",":","List","of","EvaluationFactory","strings","defining","the","evaluations","to","compute","if","no","evaluations","are","specified","in","the","configuration"]
code: def default_evaluation_list(self):
      """
      :return: List of EvaluationFactory strings defining the evaluations
      to compute if no evaluations are specified in the configuration
      """
      raise NotImplementedError("not implemented in abstract class")
  
imports: from __future__ import absolute_import, division, print_function
  import itertools
  from itertools import groupby
  from collections import defaultdict
  import pandas
  from niftynet.engine.application_factory import EvaluationFactory
  from niftynet.utilities.util_common import cache
label_desc: Use image node_id 6 for calling the BaseEvaluator obj's underlying member method code with example usage: obj.default_evaluation_list() without return types