class_docstr: Mixin class to make a texture aware of color limits.
  
  This class contains the shared functionality for the CPU and GPU mixin
  classes below. In some cases this class provides a "generic"
  implementation of a specific method and is then overridden by one of the
  subclasses.
  
  Parameters
  ----------
  data : ndarray | tuple | None
      Texture data in the form of a numpy array. A tuple of the shape of the
      texture can also be given. However, some subclasses may benefit from
      or even require a numpy array to make decisions based on shape **and**
      dtype.
  **texture_kwargs
      Any other keyword arguments to pass to the parent TextureXD class.
class_docstr_tok: ["Mixin","class","to","make","a","texture","aware","of","color","limits",".","This","class","contains","the","shared","functionality","for","the","CPU","and","GPU","mixin","classes","below",".","In","some","cases","this","class","provides","a","``","generic","''","implementation","of","a","specific","method","and","is","then","overridden","by","one","of","the","subclasses",".","Parameters","--","--","--","--","--","data",":","ndarray","|","tuple","|","None","Texture","data","in","the","form","of","a","numpy","array",".","A","tuple","of","the","shape","of","the","texture","can","also","be","given",".","However",",","some","subclasses","may","benefit","from","or","even","require","a","numpy","array","to","make","decisions","based","on","shape","*","*","and","*","*","dtype",".","*","*","texture_kwargs","Any","other","keyword","arguments","to","pass","to","the","parent","TextureXD","class","."]
docstr: Whether the in-shader representation of this texture is normalized or not.
  
  Formats ending in 'f' (float), 'ui' (unsigned integer), or 'i'
  (signed integer) are not normalized in the GPU. Formats ending in "_snorm"
  are normalized on the range [-1, 1] based on the data type of the
  input data (ex. 0-255 for uint8). Formats with no data type suffix are
  normalized on the range [0, 1]. See
  https://www.khronos.org/opengl/wiki/Image_Format for more information.
  
  This property can be used to determine if input shader variables
  (uniforms, template variables) need to also be normalized. See
  :meth:`~BaseTexture.normalize_value` below.
docstr_tok: ["Whether","the","in-shader","representation","of","this","texture","is","normalized","or","not",".","Formats","ending","in","'","f","'","(","float",")",",","'ui","'","(","unsigned","integer",")",",","or","'","i'","(","signed","integer",")","are","not","normalized","in","the","GPU",".","Formats","ending","in","``","_snorm","''","are","normalized","on","the","range","[","-1",",","1","]","based","on","the","data","type","of","the","input","data","(","ex",".","0-255","for","uint8",")",".","Formats","with","no","data","type","suffix","are","normalized","on","the","range","[","0",",","1","]",".","See","https",":","\/\/www.khronos.org\/opengl\/wiki\/Image_Format","for","more","information",".","This","property","can","be","used","to","determine","if","input","shader","variables","(","uniforms",",","template","variables",")","need","to","also","be","normalized",".","See",":","meth",":","`","~BaseTexture.normalize_value","`","below","."]
code: def is_normalized(self):
      """Whether the in-shader representation of this texture is normalized or not.
  
      Formats ending in 'f' (float), 'ui' (unsigned integer), or 'i'
      (signed integer) are not normalized in the GPU. Formats ending in "_snorm"
      are normalized on the range [-1, 1] based on the data type of the
      input data (ex. 0-255 for uint8). Formats with no data type suffix are
      normalized on the range [0, 1]. See
      https://www.khronos.org/opengl/wiki/Image_Format for more information.
  
      This property can be used to determine if input shader variables
      (uniforms, template variables) need to also be normalized. See
      :meth:`~BaseTexture.normalize_value` below.
  
      """
      if self.internalformat is None:
          return True
      return self.internalformat[-1] not in ("f", "i")
  
imports: import warnings
  import numpy
  from vispy.gloo.texture import Texture2D, Texture3D, convert_dtype_and_clip
label_desc: Use image node_id 7 for calling the _ScaledTextureMixin obj's underlying member method code with example usage: obj.is_normalized() and returns: unknown, True