code: def spm_dispersion_derivative(
      tr, oversampling=16, time_length=32.0, onset=0.0
  ):
      """Implementation of the SPM dispersion derivative hrf model
  
      Parameters
      ----------
      tr: float, scan repeat time, in seconds
      oversampling: int, temporal oversampling factor, optional
      time_length: float, hrf kernel length, in seconds
      onset: float, onset of the response
  
      Returns
      -------
      dhrf: array of shape(length / tr * oversampling, float),
            dhrf sampling on the oversampled time grid
      """
      dd = 0.01
      dhrf = (
          1.0
          / dd
          * (
              _gamma_difference_hrf(
                  tr,
                  oversampling,
                  time_length,
                  onset,
                  dispersion=1.0 + dd,
              )
              - spm_hrf(tr, oversampling, time_length, onset)
          )
      )
      return dhrf
  
file_path: nipy/nipy/modalities/fmri/hemodynamic_models.py
imports: import warnings
  import numpy
  from scipy.stats import gamma
label_desc: Use image node_id 6 for calling a global function with example usage: spm_dispersion_derivative(tr, oversampling, time_length, onset) and returns: dhrf