code: def _mask_stat_map(stat_map_img, threshold=None):
      """Load a stat map and apply a threshold.
  
      Returns: mask_img, stat_map_img, data, threshold
      """
      # Load stat map
      stat_map_img = check_niimg_3d(stat_map_img, dtype="auto")
      data = safe_get_data(stat_map_img, ensure_finite=True)
  
      # threshold the stat_map
      if threshold is not None:
          data, mask, threshold = _threshold_data(data, threshold)
          mask_img = new_img_like(
              stat_map_img, mask, stat_map_img.affine
          )
      else:
          mask_img = new_img_like(
              stat_map_img, np.zeros(data.shape), stat_map_img.affine
          )
      return mask_img, stat_map_img, data, threshold
  
imports: import copy
  import json
  import os
  import warnings
  from base64 import b64encode
  from io import BytesIO
  import matplotlib
  import numpy
  from matplotlib.image import imsave
  from nibabel.affines import apply_affine
  from nilearn.plotting.html_document import HTMLDocument
  from .._utils import fill_doc
  from .._utils.extmath import fast_abs_percentile
  from .._utils.niimg import safe_get_data
  from .._utils.niimg_conversions import check_niimg_3d
  from .._utils.param_validation import check_threshold
  from ..datasets import load_mni152_template
  from ..image import get_data, new_img_like, reorder_img, resample_to_img
  from ..plotting import cm
  from ..plotting.find_cuts import find_xyz_cut_coords
  from ..plotting.img_plotting import load_anat
  from .js_plotting_utils import colorscale, get_html_template
label_desc: Use image node_id 6 for calling a global function with example usage: _mask_stat_map(stat_map_img, threshold) and returns: mask_img,  stat_map_img,  data,  threshold