class_docstr: An object to be persisted instead of numpy arrays.
  
  This object is used to hack into the pickle machinery and read numpy
  array data from our custom persistence format.
  More precisely, this object is used for:
  * carrying the information of the persisted array: subclass, shape, order,
  dtype. Those ndarray metadata are used to correctly reconstruct the array
  with low level numpy functions.
  * determining if memmap is allowed on the array.
  * reading the array bytes from a file.
  * reading the array using memorymap from a file.
  * writing the array bytes to a file.
  
  Attributes
  ----------
  subclass: numpy.ndarray subclass
      Determine the subclass of the wrapped array.
  shape: numpy.ndarray shape
      Determine the shape of the wrapped array.
  order: {'C', 'F'}
      Determine the order of wrapped array data. 'C' is for C order, 'F' is
      for fortran order.
  dtype: numpy.ndarray dtype
      Determine the data type of the wrapped array.
  allow_mmap: bool
      Determine if memory mapping is allowed on the wrapped array.
      Default: False.
class_docstr_tok: ["An","object","to","be","persisted","instead","of","numpy","arrays",".","This","object","is","used","to","hack","into","the","pickle","machinery","and","read","numpy","array","data","from","our","custom","persistence","format",".","More","precisely",",","this","object","is","used","for",":","*","carrying","the","information","of","the","persisted","array",":","subclass",",","shape",",","order",",","dtype",".","Those","ndarray","metadata","are","used","to","correctly","reconstruct","the","array","with","low","level","numpy","functions",".","*","determining","if","memmap","is","allowed","on","the","array",".","*","reading","the","array","bytes","from","a","file",".","*","reading","the","array","using","memorymap","from","a","file",".","*","writing","the","array","bytes","to","a","file",".","Attributes","--","--","--","--","--","subclass",":","numpy.ndarray","subclass","Determine","the","subclass","of","the","wrapped","array",".","shape",":","numpy.ndarray","shape","Determine","the","shape","of","the","wrapped","array",".","order",":","{","'","C","'",",","'","F","'","}","Determine","the","order","of","wrapped","array","data",".","'","C","'","is","for","C","order",",","'","F","'","is","for","fortran","order",".","dtype",":","numpy.ndarray","dtype","Determine","the","data","type","of","the","wrapped","array",".","allow_mmap",":","bool","Determine","if","memory","mapping","is","allowed","on","the","wrapped","array",".","Default",":","False","."]
docstr: Read the array corresponding to this wrapper.
  
  Use the unpickler to get all information to correctly read the array.
  
  Parameters
  ----------
  unpickler: NumpyUnpickler
  
  Returns
  -------
  array: numpy.ndarray
docstr_tok: ["Read","the","array","corresponding","to","this","wrapper",".","Use","the","unpickler","to","get","all","information","to","correctly","read","the","array",".","Parameters","--","--","--","--","--","unpickler",":","NumpyUnpickler","Returns","--","--","--","-","array",":","numpy.ndarray"]
code: def read(self, unpickler):
      """Read the array corresponding to this wrapper.
  
      Use the unpickler to get all information to correctly read the array.
  
      Parameters
      ----------
      unpickler: NumpyUnpickler
  
      Returns
      -------
      array: numpy.ndarray
  
      """
      # When requested, only use memmap mode if allowed.
      if unpickler.mmap_mode is not None and self.allow_mmap:
          array = self.read_mmap(unpickler)
      else:
          array = self.read_array(unpickler)
  
      # Manage array subclass case
      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 sys
  import warnings
  from .numpy_pickle_utils import _COMPRESSORS
  from .numpy_pickle_utils import BinaryZlibFile
  from .numpy_pickle_utils import Unpickler, Pickler
  from .numpy_pickle_utils import _read_fileobject, _write_fileobject
  from .numpy_pickle_utils import _read_bytes, BUFFER_SIZE
  from .numpy_pickle_compat import load_compatibility
  from .numpy_pickle_compat import NDArrayWrapper
  from .numpy_pickle_compat import ZNDArrayWrapper
  from ._compat import _basestring, PY3_OR_LATER
  from .backports import make_memmap
label_desc: Use image node_id 5 for calling the NumpyArrayWrapper obj's underlying member method code with example usage: obj.read(unpickler) and returns: new_array, array