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.
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.
- Run Fiji/ImageJ inside .NET via IKVM
- Load microscopy formats using Bio-Formats
- Access
ImagePlusobjects 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
The recommended way to use Fiji.NET is via NuGet:
dotnet add package Fiji.NETThis automatically includes:
- Required Fiji / ImageJ jars
- SciJava dependencies
- Bio-Formats (
bioformats_package.jar) - IKVM configuration
No manual jar management is required.
.NET 10 (C#)
↓
IKVM Runtime
↓
Fiji / ImageJ (Java 8)
↓
Bio-Formats
↓
Microscopy Images
ij.ImageJ ijm = new ij.ImageJ();ij.ImagePlus[] imps = loci.plugins.BF.openImagePlus("test.ome.tif");
ij.ImagePlus imp = imps[0];var processor = imp.getProcessor();
int width = imp.getWidth();
int height = imp.getHeight();- 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
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.
- ImageJ / Fiji
- Bio-Formats (OME)
- SciJava ecosystem
- IKVM