code: def from_gcps(gcps):
      """Make an Affine transform from ground control points.
  
      Parameters
      ----------
      gcps : sequence of GroundControlPoint
          Such as the first item of a dataset's `gcps` property.
  
      Returns
      -------
      Affine
  
      """
      return Affine.from_gdal(*_transform_from_gcps(gcps))
  
imports: from contextlib import ExitStack
  from functools import partial
  import math
  import numpy
  import warnings
  from affine import Affine
  from rasterio.env import env_ctx_if_needed
  from rasterio._transform import _transform_from_gcps, RPCTransformerBase, GCPTransformerBase
  from rasterio.enums import TransformDirection, TransformMethod
  from rasterio.control import GroundControlPoint
  from rasterio.rpc import RPC
  from rasterio.errors import TransformError, RasterioDeprecationWarning
label_desc: Use image node_id 9 for calling a global function with example usage: from_gcps(gcps) and returns: Affine