class_docstr: Attributes
  ----------
  _data : recarray
      Underlying data, as a record array.
  _mask : boolean array
      Mask of the records. A record is masked when all its fields are
      masked.
  _fieldmask : boolean recarray
      Record array of booleans, setting the mask of each individual field
      of each record.
  _fill_value : record
      Filling values for each field.
class_docstr_tok: ["Attributes","--","--","--","--","--","_data",":","recarray","Underlying","data",",","as","a","record","array",".","_mask",":","boolean","array","Mask","of","the","records",".","A","record","is","masked","when","all","its","fields","are","masked",".","_fieldmask",":","boolean","recarray","Record","array","of","booleans",",","setting","the","mask","of","each","individual","field","of","each","record",".","_fill_value",":","record","Filling","values","for","each","field","."]
code: def __array_finalize__(self, obj):
      # Make sure we have a _fieldmask by default
      _mask = getattr(obj, "_mask", None)
      if _mask is None:
          objmask = getattr(obj, "_mask", nomask)
          _dtype = ndarray.__getattribute__(self, "dtype")
          if objmask is nomask:
              _mask = ma.make_mask_none(self.shape, dtype=_dtype)
          else:
              mdescr = ma.make_mask_descr(_dtype)
              _mask = narray(
                  [tuple([m] * len(mdescr)) for m in objmask],
                  dtype=mdescr,
              ).view(recarray)
      # Update some of the attributes
      _dict = self.__dict__
      _dict.update(_mask=_mask)
      self._update_from(obj)
      if _dict["_baseclass"] == ndarray:
          _dict["_baseclass"] = recarray
      return
  
imports: from numpy.ma import MAError, MaskedArray, masked, nomask, masked_array, getdata, getmaskarray, filled
  import numpy.ma
  import warnings
  import numpy
  from numpy import bool_, dtype, ndarray, recarray, array
  from numpy.core.records import fromarrays, fromrecords
label_desc: Use image node_id 2 for calling the MaskedRecords obj's underlying member method code with example usage: obj.__array_finalize__(obj) without return types