class_docstr: Extends `BaseInterface` class to implement SPM specific interfaces.
  
  WARNING: Pseudo prototype class, meant to be subclassed
class_docstr_tok: ["Extends","`","BaseInterface","`","class","to","implement","SPM","specific","interfaces",".","WARNING",":","Pseudo","prototype","class",",","meant","to","be","subclassed"]
code: def _parse_inputs(self, skip=()):
      spmdict = {}
      metadata = dict(field=lambda t: t is not None)
      for name, spec in list(self.inputs.traits(**metadata).items()):
          if skip and name in skip:
              continue
          value = getattr(self.inputs, name)
          if not isdefined(value):
              continue
          field = spec.field
          if "." in field:
              fields = field.split(".")
              dictref = spmdict
              for f in fields[:-1]:
                  if f not in list(dictref.keys()):
                      dictref[f] = {}
                  dictref = dictref[f]
              dictref[fields[-1]] = self._format_arg(name, spec, value)
          else:
              spmdict[field] = self._format_arg(name, spec, value)
      return [spmdict]
  
imports: import os
  from copy import deepcopy
  from nibabel import load
  import numpy
  from ...None import logging
  from ...utils import spm_docs
  from ..base import BaseInterface, traits, isdefined, InputMultiPath, BaseInterfaceInputSpec, Directory, Undefined, ImageFile, PackageInfo
  from ..base.traits_extension import NoDefaultSpecified
  from ..matlab import MatlabCommand
  from ...external.due import due, Doi, BibTeX
label_desc: Use image node_id 12 for calling the SPMCommand obj's underlying member method code with example usage: obj._parse_inputs(skip) and returns: list