public static PixImage <T> ToPixImage <T, TMatrixData>(this Matrix <TMatrixData, C3us> matrix)
        {
            var pixImage = new PixImage <T>(Col.FormatDefaultOf(typeof(T), 3), (V2i)matrix.Size);

            pixImage.GetMatrix <C3us>().Set(matrix);
            return(pixImage);
        }
        public static PixImage <T> ToPixImage <T>(this Matrix <C4f> matrix)
        {
            var pixImage = new PixImage <T>(Col.FormatDefaultOf(typeof(T), 4), (V2i)matrix.Size);

            pixImage.GetMatrix <C4f>().Set(matrix);
            return(pixImage);
        }
        public static PixImage <T> ToPixImage <T>(this IMatrix <C4f> matrix)
        {
            if (matrix is Matrix <float, C4f> )
            {
                return(((Matrix <float, C4f>)matrix).ToPixImage <T, float>());
            }
            ;

            var pixImage = new PixImage <T>(Col.FormatDefaultOf(typeof(T), 4), (V2i)matrix.Dim);

            pixImage.GetMatrix <C4f>().Set(matrix);
            return(pixImage);
        }
        public static PixImage <T> ToPixImage <T>(this IMatrix <C3us> matrix)
        {
            if (matrix is Matrix <ushort, C3us> )
            {
                return(((Matrix <ushort, C3us>)matrix).ToPixImage <T, ushort>());
            }
            ;

            var pixImage = new PixImage <T>(Col.FormatDefaultOf(typeof(T), 3), (V2i)matrix.Dim);

            pixImage.GetMatrix <C3us>().Set(matrix);
            return(pixImage);
        }