code: def _get_annotator_label_quality_score(
      annotator_label: np.ndarray,
      pred_probs: np.ndarray,
      label_quality_score_kwargs: dict = {},
  ) -> np.ndarray:
      """Returns quality scores for each datapoint.
      Very similar functionality as ``_get_consensus_quality_score`` with additional support for annotator labels that contain NaN values.
      For more info about parameters and returns, see the docstring of `~cleanlab.multiannotator._get_consensus_quality_score`.
      """
      mask = ~np.isnan(annotator_label)
  
      annotator_label_quality_score_subset = get_label_quality_scores(
          labels=annotator_label[mask].astype(int),
          pred_probs=pred_probs[mask],
          **label_quality_score_kwargs,
      )
  
      annotator_label_quality_score = np.full(
          len(annotator_label), np.nan
      )
      annotator_label_quality_score[
          mask
      ] = annotator_label_quality_score_subset
      return annotator_label_quality_score
  
imports: import warnings
  import numpy
  import pandas
  from typing import List, Dict, Any, Union, Tuple, Optional
  from cleanlab.rank import get_label_quality_scores
  from cleanlab.internal.util import get_num_classes, value_counts
  from cleanlab.internal.constants import CLIPPING_LOWER_BOUND
  from cleanlab.internal.multiannotator_utils import assert_valid_inputs_multiannotator, assert_valid_pred_probs, check_consensus_label_classes, find_best_temp_scaler, temp_scale_pred_probs
label_desc: Use image node_id 15 for calling a global function with example usage: _get_annotator_label_quality_score(annotator_label, pred_probs, label_quality_score_kwargs) and returns: annotator_label_quality_score