code: def _read_process(fid):
      """Read BTi PDF process."""
      out = {
          "nbytes": read_int32(fid),
          "process_type": read_str(fid, 20),
          "checksum": read_int32(fid),
          "user": read_str(fid, 32),
          "timestamp": read_int32(fid),
          "filename": read_str(fid, 256),
          "total_steps": read_int32(fid),
      }
  
      fid.seek(32, 1)
      _correct_offset(fid)
      out["processing_steps"] = list()
      for step in range(out["total_steps"]):
          this_step = {
              "nbytes": read_int32(fid),
              "process_type": read_str(fid, 20),
              "checksum": read_int32(fid),
          }
          ptype = this_step["process_type"]
          if ptype == BTI.PROC_DEFAULTS:
              this_step["scale_option"] = read_int32(fid)
  
              fid.seek(4, 1)
              this_step["scale"] = read_double(fid)
              this_step["dtype"] = read_int32(fid)
              this_step["selected"] = read_int16(fid)
              this_step["color_display"] = read_int16(fid)
  
              fid.seek(32, 1)
          elif ptype in BTI.PROC_FILTER:
              this_step["freq"] = read_float(fid)
              fid.seek(32, 1)
          elif ptype in BTI.PROC_BPFILTER:
              this_step["high_freq"] = read_float(fid)
              this_step["low_freq"] = read_float(fid)
          else:
              jump = this_step["user_space_size"] = read_int32(fid)
              fid.seek(32, 1)
              fid.seek(jump, 1)
  
          out["processing_steps"] += [this_step]
          _correct_offset(fid)
  
      return out
  
imports: import functools
  import os.path
  from io import BytesIO
  from itertools import count
  import numpy
  from ..._fiff._digitization import _make_bti_dig_points
  from ..._fiff.constants import FIFF
  from ..._fiff.meas_info import _empty_info
  from ..._fiff.tag import _coil_trans_to_loc, _loc_to_coil_trans
  from ..._fiff.utils import _mult_cal_one, read_str
  from ...transforms import Transform, combine_transforms, invert_transform
  from ...utils import _stamp_to_dt, _validate_type, logger, path_like, verbose
  from ..base import BaseRaw
  from .constants import BTI
  from .read import read_char, read_dev_header, read_double, read_double_matrix, read_float, read_float_matrix, read_int16, read_int16_matrix, read_int32, read_int64, read_transform, read_uint16, read_uint32
label_desc: Use image node_id 13 for calling a global function with example usage: _read_process(fid) and returns: out