code: def obj_params(self):
      eg_path = pjoin(DATA_PATH, self.eg_fname)
      img = ecat.load(eg_path)
      arr_out = img.get_fdata()
  
      def eg_func():
          img = ecat.load(eg_path)
          sh = img.get_subheaders()
          prox = ecat.EcatImageArrayProxy(sh)
          fobj = open(eg_path, "rb")
          return prox, fobj, sh
  
      yield (
          eg_func,
          dict(
              shape=self.eg_shape, dtype_out=np.float64, arr_out=arr_out
          ),
      )
  
imports: import unittest
  import warnings
  from io import BytesIO
  from itertools import product
  from os.path import join
  import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_equal
  from ..None import ecat, minc1, minc2, parrec
  from ..analyze import AnalyzeHeader
  from ..arrayproxy import ArrayProxy, is_proxy
  from ..casting import have_binary128, sctypes
  from ..externals.netcdf import netcdf_file
  from ..freesurfer.mghformat import MGHHeader
  from ..nifti1 import Nifti1Header
  from ..optpkg import optional_package
  from ..spm2analyze import Spm2AnalyzeHeader
  from ..spm99analyze import Spm99AnalyzeHeader
  from ..testing import assert_dt_equal, clear_and_catch_warnings
  from ..testing import data_path
  from ..tmpdirs import InTemporaryDirectory
  from ..volumeutils import apply_read_scaling
  from .test_api_validators import ValidateAPI
  from .test_parrec import EG_REC, VARY_REC
label_desc: Use image node_id 1 for calling the TestEcatAPI obj's underlying member method code with example usage: obj.obj_params() and returns: prox,  fobj,  sh