MxPlot.Extensions.Images
0.0.5
dotnet add package MxPlot.Extensions.Images --version 0.0.5
NuGet\Install-Package MxPlot.Extensions.Images -Version 0.0.5
<PackageReference Include="MxPlot.Extensions.Images" Version="0.0.5" />
<PackageVersion Include="MxPlot.Extensions.Images" Version="0.0.5" />
<PackageReference Include="MxPlot.Extensions.Images" />
paket add MxPlot.Extensions.Images --version 0.0.5
#r "nuget: MxPlot.Extensions.Images, 0.0.5"
#:package MxPlot.Extensions.Images@0.0.5
#addin nuget:?package=MxPlot.Extensions.Images&version=0.0.5
#tool nuget:?package=MxPlot.Extensions.Images&version=0.0.5
MxPlot.Extensions.Images
High-Performance Image Loading for MatrixData (Powered by SkiaSharp)
📦 About this Package
This package provides a simple image loader for MatrixData<T>, utilizing SkiaSharp as the decoding engine.
It enables seamless conversion of standard image formats (PNG, JPEG, BMP, TIFF, etc.) into mathematical matrices, supporting various numeric types including double, float, and even System.Numerics.Complex.
It is designed for scientific analysis, signal processing, and visualization workflows within the MxPlot ecosystem.
🔍 Key Features
- Broad Format Support: Powered by SkiaSharp, supporting PNG, JPEG, BMP, WEBP, and TIFF.
- Multi-Channel Decomposition: Easily load images as Grayscale or decomposed RGB channels.
- Flexible Data Types: Direct loading into
byte,int,float, ordoublematrices. - Complex Number Integration: Specialized support for
Complextype (pixel values mapped to the real part), ideal for immediate FFT processing. - Normalization Control: Built-in
NormalizationDivisorto scale pixel values (e.g., 0-255 to 0.0-1.0) during the loading process. - Axis Correction: Includes a
flipYoption (default: true) to align image coordinates with mathematical Cartesian coordinates (origin at bottom-left).
🛠️ Usage Example
The BitmapImageFormat class integrates directly with the MatrixData<T>.Load static method.
Loading as Normalized RGB (Double)
using MxPlot;
using MxPlot.Extensions.Images;
// Load an image, decompose to RGB, and normalize to 0.0 - 1.0
var format = new BitmapImageFormat
{
Mode = BitmapReadMode.RGBDecomposed,
NormalizationDivisor = 255.0
};
var md = MatrixData<double>.Load("photo.png", format);
// Access channels: md.GetArray(0) is Red, (1) is Green, (2) is Blue
Loading for Frequency Analysis (Complex)
// Pixel values (0-255) are stored in the Real part of the Complex numbers
var format = new BitmapImageFormat { Mode = BitmapReadMode.GrayScale };
var complexMatrix = MatrixData<Complex>.Load("signal.bmp", format);
⚙️ Dependencies
SkiaSharp: Used for cross-platform image decoding.
MxPlot.Core: Provides the base MatrixData<T> structure and IMatrixDataReader interface.
🚀 Origin Semantics
By default, this loader uses flipY = true. This ensures that the data index [0] corresponds to the bottom-left of the image, making it consistent with standard mathematical plotting and coordinate systems.
📊 Version History
For the complete changelog and version history, please visit the Releases Page on GitHub.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- MxPlot.Core (>= 0.0.5)
- SkiaSharp (>= 3.119.2)
- SkiaSharp.NativeAssets.Win32 (>= 3.119.2)
-
net8.0
- MxPlot.Core (>= 0.0.5)
- SkiaSharp (>= 3.119.2)
- SkiaSharp.NativeAssets.Win32 (>= 3.119.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on MxPlot.Extensions.Images:
| Package | Downloads |
|---|---|
|
MxPlot
MxPlot: Multi-Axis Matrix Visualization Library for .NET. This project is currently under active development. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.0.5 | 26 | 2/22/2026 |
| 0.0.5-alpha | 29 | 2/21/2026 |
| 0.0.4-alpha | 39 | 2/17/2026 |