user: Explain ImageTexture(Texture) in complete detail according to the official Blender documentation.

assistant: # ImageTexture(Texture)

base classes — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct"), [`ID`](bpy.types.ID.html#bpy.types.ID "bpy.types.ID"), [`Texture`](bpy.types.Texture.html#bpy.types.Texture "bpy.types.Texture")

*class* bpy.types.ImageTexture(*Texture*)
:   checker_distance
    :   Distance between checker tiles

        Type:
        :   float in [0, 0.99], default 0.0

    crop_max_x
    :   Maximum X value to crop the image

        Type:
        :   float in [-10, 10], default 1.0

    crop_max_y
    :   Maximum Y value to crop the image

        Type:
        :   float in [-10, 10], default 1.0

    crop_min_x
    :   Minimum X value to crop the image

        Type:
        :   float in [-10, 10], default 0.0

    crop_min_y
    :   Minimum Y value to crop the image

        Type:
        :   float in [-10, 10], default 0.0

    extension
    :   How the image is extrapolated past its original bounds

        - `EXTEND`
          Extend – Extend by repeating edge pixels of the image.
        - `CLIP`
          Clip – Clip to image size and set exterior pixels as transparent.
        - `CLIP_CUBE`
          Clip Cube – Clip to cubic-shaped area around the image and set exterior pixels as transparent.
        - `REPEAT`
          Repeat – Cause the image to repeat horizontally and vertically.
        - `CHECKER`
          Checker – Cause the image to repeat in checker board pattern.

        Type:
        :   enum in [`'EXTEND'`, `'CLIP'`, `'CLIP_CUBE'`, `'REPEAT'`, `'CHECKER'`], default `'REPEAT'`

    filter_size
    :   Multiply the filter size used by interpolation

        Type:
        :   float in [0.1, 50], default 1.0

    image
    :   Type:
        :   [`Image`](bpy.types.Image.html#bpy.types.Image "bpy.types.Image")

    image_user
    :   Parameters defining which layer, pass and frame of the image is displayed

        Type:
        :   [`ImageUser`](bpy.types.ImageUser.html#bpy.types.ImageUser "bpy.types.ImageUser"), (readonly)

    invert_alpha
    :   Invert all the alpha values in the image

        Type:
        :   boolean, default False

    repeat_x
    :   Repetition multiplier in the X direction

        Type:
        :   int in [1, 512], default 1

    repeat_y
    :   Repetition multiplier in the Y direction

        Type:
        :   int in [1, 512], default 1

    use_alpha
    :   Use the alpha channel information in the image

        Type:
        :   boolean, default True

    use_calculate_alpha
    :   Calculate an alpha channel based on RGB values in the image

        Type:
        :   boolean, default False

    use_checker_even
    :   Even checker tiles

        Type:
        :   boolean, default False

    use_checker_odd
    :   Odd checker tiles

        Type:
        :   boolean, default True

    use_flip_axis
    :   Flip the texture’s X and Y axis

        Type:
        :   boolean, default False

    use_interpolation
    :   Interpolate pixels using selected filter

        Type:
        :   boolean, default True

    use_mirror_x
    :   Mirror the image repetition on the X direction

        Type:
        :   boolean, default False

    use_mirror_y
    :   Mirror the image repetition on the Y direction

        Type:
        :   boolean, default False

    use_normal_map
    :   Use image RGB values for normal mapping

        Type:
        :   boolean, default False

    users_material
    :   Materials that use this texture

        Type:
        :   tuple of [`Material`](bpy.types.Material.html#bpy.types.Material "bpy.types.Material")

        (readonly)

    users_object_modifier
    :   Object modifiers that use this texture

        Type:
        :   tuple of [`Object`](bpy.types.Object.html#bpy.types.Object "bpy.types.Object")

        (readonly)

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type