class_docstr: Extracts signals over tissue classes or brain regions
  
  >>> seinterface = SignalExtraction()
  >>> seinterface.inputs.in_file = 'functional.nii'
  >>> seinterface.inputs.label_files = 'segmentation0.nii.gz'
  >>> seinterface.inputs.out_file = 'means.tsv'
  >>> segments = ['CSF', 'GrayMatter', 'WhiteMatter']
  >>> seinterface.inputs.class_labels = segments
  >>> seinterface.inputs.detrend = True
  >>> seinterface.inputs.include_global = True
docstr: takes a 3-dimensional numpy array and an affine,
  returns the equivalent 4th dimensional nifti file
docstr_tok: ["takes","a","3-dimensional","numpy","array","and","an","affine",",","returns","the","equivalent","4th","dimensional","nifti","file"]
code: def _4d(self, array, affine):
      """takes a 3-dimensional numpy array and an affine,
      returns the equivalent 4th dimensional nifti file"""
      return nb.Nifti1Image(array[:, :, :, np.newaxis], affine)
  
file_path: nipype/nipype/interfaces/nilearn.py
imports: import os
  import numpy
  import nibabel
  from ..interfaces.base import traits, TraitedSpec, LibraryBaseInterface, SimpleInterface, BaseInterfaceInputSpec, File, InputMultiPath
label_desc: Use image node_id 3 for calling the SignalExtraction obj's underlying member method code with example usage: obj._4d(array, affine) and returns: nb