code: def test_setup_headshape(hs):
      """Test reading bti headshape."""
      nasion, lpa, rpa, hpi, dig_points = _read_head_shape(hs)
      dig, t, _ = _make_bti_dig_points(
          nasion, lpa, rpa, hpi, dig_points
      )
  
      expected = {"kind", "ident", "r"}
      found = set(
          reduce(
              lambda x, y: list(x) + list(y), [d.keys() for d in dig]
          )
      )
      assert not expected - found
  
imports: import os
  from collections import Counter
  from functools import partial, reduce
  from io import BytesIO
  from pathlib import Path
  import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_almost_equal, assert_array_equal, assert_equal
  import mne
  from mne import pick_info, pick_types
  from mne._fiff._digitization import _make_bti_dig_points
  from mne._fiff.constants import FIFF
  from mne.datasets import testing
  from mne.io import read_raw_bti, read_raw_fif
  from mne.io.bti.bti import _check_nan_dev_head_t, _convert_coil_trans, _correct_trans, _get_bti_dev_t, _get_bti_info, _loc_to_coil_trans, _read_bti_header, _read_config, _read_head_shape, _rename_channels
  from mne.io.tests.test_raw import _test_raw_reader
  from mne.transforms import Transform, combine_transforms, invert_transform
  from mne.utils import assert_dig_allclose
label_desc: Use image node_id 10 for calling a global function with example usage: test_setup_headshape(hs) without return types