From da63b9637f24d4c644f00a138f4f26c421a00b74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=93=E3=81=AE=E4=B8=AD=E4=BA=8C=E7=97=85=E3=81=AB?= =?UTF-8?q?=E7=88=86=E7=84=94=E3=82=92=EF=BC=81?= Date: Sat, 6 Jan 2024 09:59:39 +0800 Subject: [PATCH] move the raster matrix object to the imaging base module --- .../Drawing2D/HeatMap/RasterMatrix.vb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 gr/Microsoft.VisualBasic.Imaging/Drawing2D/HeatMap/RasterMatrix.vb diff --git a/gr/Microsoft.VisualBasic.Imaging/Drawing2D/HeatMap/RasterMatrix.vb b/gr/Microsoft.VisualBasic.Imaging/Drawing2D/HeatMap/RasterMatrix.vb new file mode 100644 index 0000000000..79ffb9e9c5 --- /dev/null +++ b/gr/Microsoft.VisualBasic.Imaging/Drawing2D/HeatMap/RasterMatrix.vb @@ -0,0 +1,32 @@ +Imports Microsoft.VisualBasic.Math.LinearAlgebra +Imports Microsoft.VisualBasic.Math.LinearAlgebra.Matrix + +Namespace Drawing2D.HeatMap + + Public Class RasterMatrix : Implements IRasterGrayscaleHeatmap + + Dim m As GeneralMatrix + + Sub New(m As GeneralMatrix) + Me.m = m + End Sub + + Public Iterator Function GetRasterPixels() As IEnumerable(Of Pixel) Implements IRasterGrayscaleHeatmap.GetRasterPixels + Dim y As Integer = 0 + + For Each row As Vector In m.RowVectors + Dim v = row.Array + + For x As Integer = 0 To v.Length - 1 + Yield New PixelData With { + .Scale = v(x), + .X = x, + .Y = y + } + Next + + y += 1 + Next + End Function + End Class +End Namespace \ No newline at end of file