Fiji.NET 0.1.0

dotnet add package Fiji.NET --version 0.1.0
                    
NuGet\Install-Package Fiji.NET -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Fiji.NET" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Fiji.NET" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Fiji.NET" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Fiji.NET --version 0.1.0
                    
#r "nuget: Fiji.NET, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Fiji.NET@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Fiji.NET&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Fiji.NET&version=0.1.0
                    
Install as a Cake Tool

Fiji.NET (IKVM-based Fiji + Bio-Formats for .NET 10)

Overview

Fiji.NET provides a way to run Fiji (ImageJ distribution) and Bio-Formats inside a .NET application using IKVM. It enables loading, processing, and converting microscopy images directly from C# without requiring a separate Java runtime environment at execution time.

This project bridges the Java-based imaging ecosystem (ImageJ/Fiji/Bio-Formats) with modern .NET applications such as BioGTK, BioImager, and other microscopy workflows.


⚠️ Important Compatibility Note

This project is based on the last Java 8–compatible Fiji stack.

Implications:

  • Uses legacy ImageJ + SciJava ecosystem versions
  • Newer Fiji / ImageJ2 features (Java 11+) are not available
  • Some plugins may not function under IKVM
  • SciJava command discovery is partially limited

This tradeoff is required because IKVM targets Java 8 bytecode compatibility.


Key Features

  • Run Fiji/ImageJ inside .NET via IKVM
  • Load microscopy formats using Bio-Formats
  • Access ImagePlus objects directly in C#
  • Support for hundreds of scientific image formats (NDPI, OME-TIFF, CZI, etc.)
  • No external Fiji installation required at runtime
  • Targeted for .NET 10
  • Simple installation via NuGet

Installation (NuGet)

The recommended way to use Fiji.NET is via NuGet:

dotnet add package Fiji.NET

This automatically includes:

  • Required Fiji / ImageJ jars
  • SciJava dependencies
  • Bio-Formats (bioformats_package.jar)
  • IKVM configuration

No manual jar management is required.


Architecture

.NET 10 (C#)
   ↓
IKVM Runtime
   ↓
Fiji / ImageJ (Java 8)
   ↓
Bio-Formats
   ↓
Microscopy Images

Usage

Initialize ImageJ (optional UI)

ij.ImageJ ijm = new ij.ImageJ();

Load an image using Bio-Formats

ij.ImagePlus[] imps = loci.plugins.BF.openImagePlus("test.ome.tif");
ij.ImagePlus imp = imps[0];

Access pixel data

var processor = imp.getProcessor();
int width = imp.getWidth();
int height = imp.getHeight();

Notes

  • Bio-Formats is used directly via API (loci.plugins.BF)
  • Fiji is embedded and does not require a separate installation
  • Designed for programmatic use rather than full plugin-driven workflows

For stability:

  • Use the NuGet package (avoid manual jar setup)
  • Use Bio-Formats API directly

Summary

Fiji.NET enables:

  • Reliable microscopy image loading in .NET 10
  • Seamless access to Bio-Formats
  • Integration with modern .NET imaging tools

Best practice:

Use Bio-Formats as a library, not as a plugin system, when running under IKVM.


Credits

  • ImageJ / Fiji
  • Bio-Formats (OME)
  • SciJava ecosystem
  • IKVM
Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 34 4/1/2026