class_docstr: An object to be persisted instead of numpy arrays.
  
  The only thing this object does, is to carry the filename in which
  the array has been persisted, and the array subclass.
class_docstr_tok: ["An","object","to","be","persisted","instead","of","numpy","arrays",".","The","only","thing","this","object","does",",","is","to","carry","the","filename","in","which","the","array","has","been","persisted",",","and","the","array","subclass","."]
docstr: Reconstruct the array.
docstr_tok: ["Reconstruct","the","array","."]
code: def read(self, unpickler):
      """Reconstruct the array."""
      filename = os.path.join(unpickler._dirname, self.filename)
      # Load the array from the disk
      # use getattr instead of self.allow_mmap to ensure backward compat
      # with NDArrayWrapper instances pickled with joblib < 0.9.0
      allow_mmap = getattr(self, "allow_mmap", True)
      memmap_kwargs = (
          {} if not allow_mmap else {"mmap_mode": unpickler.mmap_mode}
      )
      array = unpickler.np.load(filename, **memmap_kwargs)
      # Reconstruct subclasses. This does not work with old
      # versions of numpy
      if hasattr(array, "__array_prepare__") and self.subclass not in (
          unpickler.np.ndarray,
          unpickler.np.memmap,
      ):
          # We need to reconstruct another subclass
          new_array = unpickler.np.core.multiarray._reconstruct(
              self.subclass, (0,), "b"
          )
          return new_array.__array_prepare__(array)
      else:
          return array
  
imports: import pickle
  import os
  import zlib
  from io import BytesIO
  from ._compat import PY3_OR_LATER
  from .numpy_pickle_utils import _ZFILE_PREFIX
  from .numpy_pickle_utils import Unpickler
label_desc: Use image node_id 2 for calling the NDArrayWrapper obj's underlying member method code with example usage: obj.read(unpickler) and returns: new_array, array