code: def test_fmri_inputs(in_tmp_path):
      # Test processing of FMRI inputs
      func_img = load(funcfile)
      T = func_img.shape[-1]
      des = np.ones((T, 1))
      des_fname = "design.npz"
      np.savez(des_fname, des)
      for fi in func_img, funcfile:
          for d in des, des_fname:
              fmodel = FMRILinearModel(fi, d, mask="compute")
              fmodel = FMRILinearModel([fi], d, mask=None)
              fmodel = FMRILinearModel(fi, [d], mask=None)
              fmodel = FMRILinearModel([fi], [d], mask=None)
              fmodel = FMRILinearModel([fi, fi], [d, d], mask=None)
              fmodel = FMRILinearModel((fi, fi), (d, d), mask=None)
              pytest.raises(
                  ValueError, FMRILinearModel, [fi, fi], d, mask=None
              )
              pytest.raises(
                  ValueError, FMRILinearModel, fi, [d, d], mask=None
              )
  
imports: import numpy
  import pytest
  from nibabel import Nifti1Image, load, save
  from numpy.testing import assert_almost_equal, assert_array_almost_equal, assert_array_equal
  from nipy.io.nibcompat import get_affine
  from nipy.testing import funcfile
  from nipy.testing.decorators import if_example_data
  from ..glm import FMRILinearModel, GeneralLinearModel, data_scaling
label_desc: Use image node_id 27 for calling a global function with example usage: test_fmri_inputs(in_tmp_path) without return types