class_docstr: Simultaneous motion and slice timing correction algorithm
  
  If slice_times is not specified, this algorithm performs spatial motion
  correction
  
  This interface wraps nipy's SpaceTimeRealign algorithm [Roche2011]_ or simply the
  SpatialRealign algorithm when timing info is not provided.
  
  Examples
  --------
  >>> from nipype.interfaces.nipy import SpaceTimeRealigner
  >>> #Run spatial realignment only
  >>> realigner = SpaceTimeRealigner()
  >>> realigner.inputs.in_file = ['functional.nii']
  >>> res = realigner.run() # doctest: +SKIP
  
  >>> realigner = SpaceTimeRealigner()
  >>> realigner.inputs.in_file = ['functional.nii']
  >>> realigner.inputs.tr = 2
  >>> realigner.inputs.slice_times = list(range(0, 3, 67))
  >>> realigner.inputs.slice_info = 2
  >>> res = realigner.run() # doctest: +SKIP
  
  
  References
  ----------
  .. [Roche2011] Roche A. A four-dimensional registration algorithm with        application to joint correction of motion and slice timing        in fMRI. IEEE Trans Med Imaging. 2011 Aug;30(8):1546-54. DOI_.
  
  .. _DOI: https://doi.org/10.1109/TMI.2011.2131152
code: def _list_outputs(self):
      outputs = self._outputs().get()
      outputs["out_file"] = self._out_file_path
      outputs["par_file"] = self._par_file_path
      return outputs
  
imports: import os
  import nibabel
  import numpy
  from ...utils.filemanip import split_filename, fname_presuffix
  from .base import NipyBaseInterface, have_nipy
  from ..base import TraitedSpec, traits, BaseInterfaceInputSpec, isdefined, File, InputMultiPath, OutputMultiPath
label_desc: Use image node_id 2 for calling the SpaceTimeRealigner obj's underlying member method code with example usage: obj._list_outputs() and returns: outputs