docstr: Read data from file and apply scaling, casting to ``dtype``
  
  If ``dtype`` is unspecified, the dtype of the returned array is the
  narrowest dtype that can represent the data without overflow.
  Generally, it is the wider of the dtypes of the slopes or intercepts.
  
  Parameters
  ----------
  dtype : numpy dtype specifier, optional
      A numpy dtype specifier specifying the type of the returned array.
  
  Returns
  -------
  array
      Scaled image data with type `dtype`.
docstr_tok: ["Read","data","from","file","and","apply","scaling",",","casting","to","``","dtype","``","If","``","dtype","``","is","unspecified",",","the","dtype","of","the","returned","array","is","the","narrowest","dtype","that","can","represent","the","data","without","overflow",".","Generally",",","it","is","the","wider","of","the","dtypes","of","the","slopes","or","intercepts",".","Parameters","--","--","--","--","--","dtype",":","numpy","dtype","specifier",",","optional","A","numpy","dtype","specifier","specifying","the","type","of","the","returned","array",".","Returns","--","--","--","-","array","Scaled","image","data","with","type","`","dtype","`","."]
code: def __array__(self, dtype=None):
      """Read data from file and apply scaling, casting to ``dtype``
  
      If ``dtype`` is unspecified, the dtype of the returned array is the
      narrowest dtype that can represent the data without overflow.
      Generally, it is the wider of the dtypes of the slopes or intercepts.
  
      Parameters
      ----------
      dtype : numpy dtype specifier, optional
          A numpy dtype specifier specifying the type of the returned array.
  
      Returns
      -------
      array
          Scaled image data with type `dtype`.
      """
      arr = self._get_scaled(dtype=dtype, slicer=())
      if dtype is not None:
          arr = arr.astype(dtype, copy=False)
      return arr
  
imports: import re
  import warnings
  from collections import OrderedDict
  from copy import deepcopy
  from io import StringIO
  from locale import getpreferredencoding
  import numpy
  from .affines import apply_affine, dot_reduce, from_matvec
  from .eulerangles import euler2mat
  from .fileslice import fileslice, strided_scalar
  from .nifti1 import unit_codes
  from .openers import ImageOpener
  from .spatialimages import SpatialHeader, SpatialImage
  from .volumeutils import Recoder, array_from_file
label_desc: Use image node_id 9 for calling the PARRECArrayProxy obj's underlying member method code with example usage: obj.__array__(dtype) and returns: arr