class_docstr: BaseApplication represents an interface.
  
  Each application ``type_str`` should support to use
  the standard training and inference driver.
class_docstr_tok: ["BaseApplication","represents","an","interface",".","Each","application","``","type_str","``","should","support","to","use","the","standard","training","and","inference","driver","."]
docstr: The action should have at least two characters matching
  the one of the phase string TRAIN, INFER, EVAL
  
  :param value:
  :return:
docstr_tok: ["The","action","should","have","at","least","two","characters","matching","the","one","of","the","phase","string","TRAIN",",","INFER",",","EVAL",":","param","value",":",":","return",":"]
code: def action(self, value):
      """
      The action should have at least two characters matching
      the one of the phase string TRAIN, INFER, EVAL
  
      :param value:
      :return:
      """
      try:
          self._action = value.lower()
          assert len(self._action) >= 2
      except (AttributeError, AssertionError):
          tf.logging.fatal(
              "Error setting application action: %s", value
          )
  
imports: import os
  from argparse import Namespace
  import tensorflow
  from six import with_metaclass
  from niftynet.engine.signal import TRAIN, INFER, EVAL
label_desc: Use image node_id 11 for calling the BaseApplication obj's underlying member method code with example usage: obj.action(value) without return types