MxPlot.Extensions.Tiff
0.0.3-alpha
dotnet add package MxPlot.Extensions.Tiff --version 0.0.3-alpha
NuGet\Install-Package MxPlot.Extensions.Tiff -Version 0.0.3-alpha
<PackageReference Include="MxPlot.Extensions.Tiff" Version="0.0.3-alpha" />
<PackageVersion Include="MxPlot.Extensions.Tiff" Version="0.0.3-alpha" />
<PackageReference Include="MxPlot.Extensions.Tiff" />
paket add MxPlot.Extensions.Tiff --version 0.0.3-alpha
#r "nuget: MxPlot.Extensions.Tiff, 0.0.3-alpha"
#:package MxPlot.Extensions.Tiff@0.0.3-alpha
#addin nuget:?package=MxPlot.Extensions.Tiff&version=0.0.3-alpha&prerelease
#tool nuget:?package=MxPlot.Extensions.Tiff&version=0.0.3-alpha&prerelease
MxPlot.Extensions.Tiff
OME-TIFF and ImageJ-compatible hyperstack I/O support for MxPlot
MxPlot.Extensions.TIFF provides advanced TIFF read/write capabilities for MatrixData<T>. It is designed to handle 5D bio-imaging data (XY + Channel, Z, Time) with full metadata preservation, bridging MxPlot with the scientific imaging ecosystem (ImageJ/Fiji, Bio-Formats).
Features
- 5D Hyperstack Support: Natively handles multidimensional data (Channel, Z-Slice, Time-Frame).
- Dual Export Strategies:
- OME-TIFF: Embeds OME-XML metadata (physical pixel size, time intervals, UUIDs) for robust data exchange.
- ImageJ TIFF: Writes ImageJ-specific tags for immediate, lightweight drag-and-drop compatibility with Fiji.
- Physical Space Awareness: Preserves physical units (e.g., µm) and automatically handles coordinate system conversion (Bottom-Left vs Top-Left).
- Flexible Architecture: Implements MxPlot's
IMatrixDataWriter/IMatrixDataReaderinterfaces.
Components
Based on the internal file structure:
OmeTiffFormat: The core writer strategy for generating OME-compliant TIFFs.ImageJTiffFormat: The writer strategy optimized for ImageJ compatibility.OmeTiffHandler/ImageJTiffHandler: High-level I/O handlers.ImageJMetadata: Helper class for managing ImageJ specific TIFF tags.
Quick Usage
This library integrates with the MatrixData.Save method via the Strategy Pattern.
Saving Data
using MxPlot.Core;
using MxPlot.Extensions.Tiff;
// Assume 'matrix' is a MatrixData<float> with 5D dimensions (e.g., C=3, Z=24, T=100)
// and physical scaling (e.g., 0.1um/pixel).
// 1. Save as OME-TIFF (Recommended for archival/analysis)
// Preserves full physical metadata and dimension order.
matrix.Save("simulation_data.ome.tif", new OmeTiffFormat());
// 2. Save as ImageJ Hyperstack (Recommended for quick viewing)
// Lightweight format specifically tuned for Fiji.
matrix.Save("quick_view.tif", new ImageJTiffFormat());
// 3. Save with custom options (e.g., disable Y-flip)
var options = new OmeTiffFormat.Options
{
FlipY = false // Keep original coordinate system
};
matrix.Save("no_flip.ome.tif", new OmeTiffFormat(options));
Loading Data
// Automatically detects OME-TIFF or Standard TIFF and restores axes information.
IMatrixData loadedData = MatrixData.Load("input.ome.tif");
Technical Notes
- Supported Types:
byte,sbyte,short,ushort,int,float,double. - Coordinates: The library automatically handles the vertical flip (Y-axis) required to map MxPlot's mathematical Cartesian coordinates to the raster scan order of TIFF images. This behavior can be customized via the
FlipYoption if needed. See the API documentation forOmeTiffFormatandImageJTiffFormatfor details. - Dependencies: Built on top of
BitMiracle.LibTiff.NET.
License MIT License
| 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
- BitMiracle.LibTiff.NET (>= 2.4.660)
- MxPlot.Core (>= 0.0.3-alpha)
-
net8.0
- BitMiracle.LibTiff.NET (>= 2.4.660)
- MxPlot.Core (>= 0.0.3-alpha)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on MxPlot.Extensions.Tiff:
| 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.3-alpha | 29 | 2/11/2026 |