code: def test_design_matrix_FIR_time_shift(frame_times):
      # Check that the first column of FIR design matrix is OK after a 1/2
      # time shift
      tr = 1.0
      frame_times = frame_times + tr / 2
      events = basic_paradigm()
      hrf_model = "FIR"
      X, _ = design_matrix_light(
          frame_times,
          events,
          hrf_model=hrf_model,
          drift_model="polynomial",
          drift_order=3,
          fir_delays=range(1, 5),
      )
      ct = events.onset[events.trial_type == "c0"].astype(int)
      assert np.all(X[ct + 1, 0] > 0.5)
  
imports: from os import path
  import numpy
  import pandas
  import pytest
  from numpy.testing import assert_almost_equal, assert_array_almost_equal, assert_array_equal
  from nilearn._utils.data_gen import basic_paradigm
  from nilearn.glm.first_level.design_matrix import _convolve_regressors, check_design_matrix, create_cosine_drift, make_first_level_design_matrix, make_second_level_design_matrix
  from ._testing import block_paradigm, design_with_negative_onsets, modulated_block_paradigm, modulated_event_paradigm, spm_paradigm
label_desc: Use image node_id 15 for calling a global function with example usage: test_design_matrix_FIR_time_shift(frame_times) without return types