code: def test_affine_init():
      # init with implicit parameters
      scale = (0.1, 0.13)
      rotation = 1
      shear = 0.1
      translation = (1, 1)
      tform = AffineTransform(
          scale=scale,
          rotation=rotation,
          shear=shear,
          translation=translation,
      )
      assert_almost_equal(tform.scale, scale)
      assert_almost_equal(tform.rotation, rotation)
      assert_almost_equal(tform.shear, shear)
      assert_almost_equal(tform.translation, translation)
  
      # init with transformation matrix
      tform2 = AffineTransform(tform.params)
      assert_almost_equal(tform2.scale, scale)
      assert_almost_equal(tform2.rotation, rotation)
      assert_almost_equal(tform2.shear, shear)
      assert_almost_equal(tform2.translation, translation)
  
      # scalar vs. tuple scale arguments
      assert_almost_equal(
          AffineTransform(scale=0.5).scale,
          AffineTransform(scale=(0.5, 0.5)).scale,
      )
  
imports: import re
  import textwrap
  import numpy
  import pytest
  from numpy.testing import assert_almost_equal, assert_array_almost_equal, assert_equal
  from skimage.transform import AffineTransform, EssentialMatrixTransform, EuclideanTransform, FundamentalMatrixTransform, PiecewiseAffineTransform, PolynomialTransform, ProjectiveTransform, SimilarityTransform, estimate_transform, matrix_transform
  from skimage.transform._geometric import _GeometricTransform, _affine_matrix_from_vector, _center_and_normalize_points, _euler_rotation_matrix
label_desc: Use image node_id 10 for calling a global function with example usage: test_affine_init() without return types