code: def test_base_affine(self):
      klass = self.header_class
      hdr = klass()
      hdr.set_data_shape((3, 5, 7))
      hdr.set_zooms((3, 2, 1))
      assert hdr.default_x_flip
      assert_array_almost_equal(
          hdr.get_base_affine(),
          [
              [-3.0, 0.0, 0.0, 3.0],
              [0.0, 2.0, 0.0, -4.0],
              [0.0, 0.0, 1.0, -3.0],
              [0.0, 0.0, 0.0, 1.0],
          ],
      )
      hdr.set_data_shape((3, 5))
      assert_array_almost_equal(
          hdr.get_base_affine(),
          [
              [-3.0, 0.0, 0.0, 3.0],
              [0.0, 2.0, 0.0, -4.0],
              [0.0, 0.0, 1.0, -0.0],
              [0.0, 0.0, 0.0, 1.0],
          ],
      )
      hdr.set_data_shape((3, 5, 7))
      assert_array_almost_equal(
          hdr.get_base_affine(),
          [
              [-3.0, 0.0, 0.0, 3.0],
              [0.0, 2.0, 0.0, -4.0],
              [0.0, 0.0, 1.0, -3.0],
              [0.0, 0.0, 0.0, 1.0],
          ],
      )
  
imports: import itertools
  import logging
  import os
  import pickle
  import re
  from io import BytesIO, StringIO
  import numpy
  import pytest
  from numpy.testing import assert_array_almost_equal, assert_array_equal
  from ..None import imageglobals
  from ..analyze import AnalyzeHeader, AnalyzeImage
  from ..arraywriters import WriterError
  from ..casting import sctypes_aliases
  from ..nifti1 import Nifti1Header
  from ..optpkg import optional_package
  from ..spatialimages import HeaderDataError, HeaderTypeError, supported_np_types
  from ..testing import assert_dt_equal, bytesio_filemap, bytesio_round_trip, data_path, suppress_warnings
  from ..tmpdirs import InTemporaryDirectory
  from .None import test_spatialimages
  from .None import test_wrapstruct
label_desc: Use image node_id 24 for calling the TestAnalyzeHeader obj's underlying member method code with example usage: obj.test_base_affine() without return types