code: def test_make_dig_points():
      """Test application of Polhemus HSP to info."""
      extra_points = read_polhemus_fastscan(
          hsp_fname, on_header_missing="ignore"
      )
      info = create_info(ch_names=["Test Ch"], sfreq=1000.0)
      assert info["dig"] is None
  
      with info._unlock():
          info["dig"] = _make_dig_points(extra_points=extra_points)
      assert info["dig"]
      assert_allclose(info["dig"][0]["r"], [-0.10693, 0.09980, 0.06881])
  
      elp_points = read_polhemus_fastscan(
          elp_fname, on_header_missing="ignore"
      )
      nasion, lpa, rpa = elp_points[:3]
      info = create_info(ch_names=["Test Ch"], sfreq=1000.0)
      assert info["dig"] is None
  
      with info._unlock():
          info["dig"] = _make_dig_points(
              nasion, lpa, rpa, elp_points[3:], None
          )
      assert info["dig"]
      idx = [d["ident"] for d in info["dig"]].index(
          FIFF.FIFFV_POINT_NASION
      )
      assert_allclose(
          info["dig"][idx]["r"], [0.0013930, 0.0131613, -0.0046967]
      )
      pytest.raises(ValueError, _make_dig_points, nasion[:2])
      pytest.raises(ValueError, _make_dig_points, None, lpa[:2])
      pytest.raises(ValueError, _make_dig_points, None, None, rpa[:2])
      pytest.raises(
          ValueError,
          _make_dig_points,
          None,
          None,
          None,
          elp_points[:, :2],
      )
      pytest.raises(
          ValueError,
          _make_dig_points,
          None,
          None,
          None,
          None,
          elp_points[:, :2],
      )
  
imports: import pickle
  import string
  from datetime import date, datetime, timedelta, timezone
  from pathlib import Path
  import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_equal
  from scipy import sparse
  from mne import Annotations, Epochs, compute_covariance, make_forward_solution, make_sphere_model, pick_info, pick_types, read_cov, read_epochs, read_events, read_evokeds, read_forward_solution, setup_volume_source_space, write_cov, write_forward_solution
  from mne._fiff import meas_info
  from mne._fiff._digitization import DigPoint, _make_dig_points
  from mne._fiff.constants import FIFF
  from mne._fiff.meas_info import RAW_INFO_FIELDS, Info, MNEBadsList, _add_timedelta_to_stamp, _bad_chans_comp, _dt_to_stamp, _force_update_info, _get_valid_units, _merge_info, _read_extended_ch_info, _stamp_to_dt, anonymize_info, create_info, read_fiducials, read_info, write_fiducials, write_info
  from mne._fiff.proj import Projection
  from mne._fiff.tag import _coil_trans_to_loc, _loc_to_coil_trans
  from mne._fiff.write import DATE_NONE, _generate_meas_id
  from mne.channels import equalize_channels, make_standard_montage, read_polhemus_fastscan
  from mne.datasets import testing
  from mne.event import make_fixed_length_events
  from mne.io import BaseRaw, RawArray, read_raw_ctf, read_raw_fif
  from mne.minimum_norm import apply_inverse, make_inverse_operator, read_inverse_operator, write_inverse_operator
  from mne.transforms import Transform
  from mne.utils import _empty_hash, _record_warnings, assert_object_equal, catch_logging
label_desc: Use image node_id 12 for calling a global function with example usage: test_make_dig_points() without return types