code: def deserialize_numpy_maskedarray(header, frames):
      data_header = header["data-header"]
      data_frames = frames[: header["nframes"]]
      data = deserialize_numpy_ndarray(data_header, data_frames)
  
      if "mask-header" in header:
          mask_header = header["mask-header"]
          mask_frames = frames[header["nframes"] :]
          mask = deserialize_numpy_ndarray(mask_header, mask_frames)
      else:
          mask = np.ma.nomask
  
      pickled_fv, fill_value = header["fill-value"]
      if pickled_fv:
          fill_value = pickle.loads(fill_value)
  
      return np.ma.masked_array(data, mask=mask, fill_value=fill_value)
  
file_path: distributed/distributed/protocol/numpy.py
imports: from __future__ import annotations
  import math
  import numpy
  from packaging.version import parse
  from distributed.protocol import pickle
  from distributed.protocol.serialize import dask_deserialize, dask_serialize
  from distributed.utils import log_errors
label_desc: Use image node_id 7 for calling a global function with example usage: deserialize_numpy_maskedarray(header, frames) and returns: np