docstr: Iterator returning (``proxy_creator``, ``proxy_params``) pairs
  
  Each pair will be tested separately.
  
  ``proxy_creator`` is a function taking no arguments and returning (fresh
  proxy object, fileobj, header).  We need to pass this function rather
  than a proxy instance so we can recreate the proxy objects fresh for
  each of multiple tests run from the ``validate_xxx`` autogenerated test
  methods.  This allows the tests to modify the proxy instance without
  having an effect on the later tests in the same function.
docstr_tok: ["Iterator","returning","(","``","proxy_creator","``",",","``","proxy_params","``",")","pairs","Each","pair","will","be","tested","separately",".","``","proxy_creator","``","is","a","function","taking","no","arguments","and","returning","(","fresh","proxy","object",",","fileobj",",","header",")",".","We","need","to","pass","this","function","rather","than","a","proxy","instance","so","we","can","recreate","the","proxy","objects","fresh","for","each","of","multiple","tests","run","from","the","``","validate_xxx","``","autogenerated","test","methods",".","This","allows","the","tests","to","modify","the","proxy","instance","without","having","an","effect","on","the","later","tests","in","the","same","function","."]
code: def obj_params(self):
      """Iterator returning (``proxy_creator``, ``proxy_params``) pairs
  
      Each pair will be tested separately.
  
      ``proxy_creator`` is a function taking no arguments and returning (fresh
      proxy object, fileobj, header).  We need to pass this function rather
      than a proxy instance so we can recreate the proxy objects fresh for
      each of multiple tests run from the ``validate_xxx`` autogenerated test
      methods.  This allows the tests to modify the proxy instance without
      having an effect on the later tests in the same function.
      """
      eg_path = pjoin(DATA_PATH, self.eg_fname)
      arr_out = self.file_class(self.opener(eg_path)).get_scaled_data()
  
      def eg_func():
          mf = self.file_class(self.opener(eg_path))
          prox = minc1.MincImageArrayProxy(mf)
          img = self.module.load(eg_path)
          fobj = open(eg_path, "rb")
          return prox, fobj, img.header
  
      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 2 for calling the TestMinc1API obj's underlying member method code with example usage: obj.obj_params() and returns: prox,  fobj,  img