/// <summary>
/// Create an image feature type.
/// </summary>
/// <param name="width">Image width.</param>
/// <param name="height">Image height.</param>
/// <param name="type">Image data type.</param>
MLImageType (int width, int height, Type type);
INCOMPLETE.
/// <summary>
/// Create an image feature type.
/// This constructor assumes interleaved pixel buffers.
/// </summary>
/// <param name="width">Image width.</param>
/// <param name="height">Image height.</param>
/// <param name="channels">Image channels.</param>
/// <param name="type">Image data type.</param>
MLImageType (int width, int height, int channels, Type type);
INCOMPLETE.
/// <summary>
/// Create an image feature type.
/// </summary>
/// <param name="shape">Image feature shape.</param>
/// <param name="type">Image data type.</param>
/// <param name="name">Feature name.</param>
MLImageType (int[] shape, Type type, string name = null);
From a Feature Type
/// <summary>
/// Get the corresponding image type for a given feature type.
/// </summary>
/// <param name="type">Input type.</param>
/// <returns>Corresponding image type or `null` if input type is not an image type.</returns>
static MLImageType FromType (in MLFeatureType type);
INCOMPLETE.
Inspecting the Type
/// <summary>
/// Feature name.
/// </summary>
string name { get; }
/// <summary>
/// Feature data type.
/// This will typically be a numeric type.
/// </summary>
Type dataType { get; }
Refer to the MLFeatureType class for more information.
Inspecting the Image
The feature type reports information about the image it refers to:
The channel count is usually 1 for greyscale images, 3 for RGB images, or 4 for RGBA images.
Pixel Layout
/// <summary>
/// Whether the image is interleaved or planar.
/// </summary>
bool interleaved { get; }
The image type reports the pixel layout of the image. The pixel layout is inferred from the shape of the type. If the channels dimension is last, then the image is interleaved; otherwise, the image is planar.