class_docstr: File handler for surface reflectance files with optional vegetation indexes.
class_docstr_tok: ["File","handler","for","surface","reflectance","files","with","optional","vegetation","indexes","."]
code: def _mask_invalid(
      self, data_arr: xr.DataArray, ds_info: dict
  ) -> xr.DataArray:
      new_data_arr = super()._mask_invalid(data_arr, ds_info)
      if ds_info["file_key"] in ("NDVI", "EVI") and self._filter_veg:
          good_mask = self._get_veg_index_good_mask()
          new_data_arr = new_data_arr.where(good_mask)
      return new_data_arr
  
imports: from __future__ import annotations
  import logging
  from typing import Iterable
  import dask.array
  import xarray
  from satpy import DataID
  from satpy.readers.file_handlers import BaseFileHandler
  from satpy.utils import get_chunk_size_limit
label_desc: Use image node_id 2 for calling the VIIRSSurfaceReflectanceWithVIHandler obj's underlying member method code with example usage: obj._mask_invalid(data_arr, ds_info) and returns: new_data_arr