code: def _read_hc(directory):
      """Read the hc file to get the HPI info and to prepare for coord trans."""
      fname, found = _make_ctf_name(directory, "hc", raise_error=False)
      if not found:
          logger.info("    hc data not present")
          return None
      s = list()
      with open(fname, "rb") as fid:
          while True:
              p = _read_one_coil_point(fid)
              if p is None:
                  # First point bad indicates that the file is empty
                  if len(s) == 0:
                      logger.info("hc file empty, no data present")
                      return None
                  # Returns None if at EOF
                  logger.info("    hc data read.")
                  return s
              if p["valid"]:
                  s.append(p)
  
imports: import numpy
  from ..._fiff.constants import FIFF
  from ...utils import logger
  from .constants import CTF
  from .res4 import _make_ctf_name
label_desc: Use image node_id 2 for calling a global function with example usage: _read_hc(directory) and returns: None, s, None