code: def spm_dispersion_derivative(
      tr, oversampling=50, time_length=32.0, onset=0.0
  ):
      """Implement the :term:`SPM` dispersion derivative :term:`HRF` model.
  
      Parameters
      ----------
      tr : float
          :term:`Repetition time<TR>`, in seconds (sampling period).
  
      oversampling : int, default=50
          Temporal oversampling factor in seconds.
  
      time_length : float, default=32
          :term:`HRF` kernel length, in seconds.
  
      onset : float, default=0
          Onset of the response in seconds.
  
      Returns
      -------
      dhrf : array of shape(length / tr * oversampling), dtype=float
            dhrf sampling on the oversampled time grid
  
      """
      return _generic_dispersion_derivative(
          tr,
          oversampling=oversampling,
          time_length=time_length,
          onset=onset,
      )
  
imports: import warnings
  from collections.abc import Iterable
  import numpy
  from scipy.stats import gamma
  from nilearn._utils import fill_doc
label_desc: Use image node_id 9 for calling a global function with example usage: spm_dispersion_derivative(tr, oversampling, time_length, onset) and returns: _generic_dispersion_derivative