BioImager 4.5.1

dotnet add package BioImager --version 4.5.1                
NuGet\Install-Package BioImager -Version 4.5.1                
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="BioImager" Version="4.5.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BioImager --version 4.5.1                
#r "nuget: BioImager, 4.5.1"                
#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.
// Install BioImager as a Cake Addin
#addin nuget:?package=BioImager&version=4.5.1

// Install BioImager as a Cake Tool
#tool nuget:?package=BioImager&version=4.5.1                

BioImager

A .NET microscopy imaging application based on Bio. Supports various microscopes by using imported libraries & GUI automation. Supported libraries include Prior® & Zeiss® & all devices supported by latest Micromanager 2.0 and python-microscope. If your microscope is not supported check your manufacturer's SDK to implement "Microscope.cs" or use GUI Automation functions. Works with or without hardware through microscope simulation. Allows for tiled & depth stack imaging & supports XInput game controllers to move stage, take images, run ImageJ macros on images or Bio C# scripts. Also check out the wiki for library usage. or check out the documentation.

Nuget Nuget DOI

Sample Microscope Script

//If the GUI Recording for setting folder is set, we can set the microscope storage folder.
Microscope.SetFolder("F:/Images/5x/");
Microscope.Objectives.SetPosition(0);
Microscope.TakeImage();
Microscope.MoveFieldLeft();
//We can take an image stack based on properties set in the GUI
Microscope.TakeImageStack();
// or by specifying them in script.
Microscope.TakeImageStack(25000,25050,10)
Microscope.MoveFieldDown();
Microscope.TakeTiles(4,4);
Microscope.Objectives.SetPosition(1);
Microscope.SetFolder("F:/Images/10x/");
Microscope.TakeTiles(4,4);

Features

  • C# scripting with sample tool-script and other sample scripts in "/Scripts/" folder. See samples

  • Cell Imager tool allows for performing imaging routines on individual cells based on blob detection.

  • Supports running ImageJ macro commands on images open in Bio. New Console to run ImageJ macro commands and Bio C# functions.

  • Multiple view modes like Emission, and Filtered. ROI's shown for each channel can be configured in ROI Manager.

  • Supports drawing shapes & colors onto 16 bit & 48 bit images, unlike System.Drawing.Graphics.

  • Convenient viewing of image stacks with scroll wheel moving Z-plane and mouse side buttons scrolling C-planes.

  • Editing & saving ROI's in images to OME format image stacks.

  • Copy & Paste to quickly annotate images and name them easily by right click.

  • Select multiple points by holding down control key, for delete & move tools.

  • Exporting ROI's from each OME image in a folder of images to CSV.

  • Easy freeform annotation with magic select tool which selects based on blob detection.

  • Use AForge filters by opening filters tool window and right click to apply. Currently supports only some AForge filters as many of them do not support 16bit and 48bit images. Convert to 8bit image to make use of more filters. Applyed filters can be easily recorded and used in scripts. Bio impliments some filters like crop for 16 & 48 bit images.

Setup

  • Install dependency OpenSlide be sure to add the /bin path of opeslide binaries to your Environmental Variable PATH. By editing your PATH variable.
  • For Micro-Manager 2.0 install the nightly build from here.
  • For detailed Setup instructions see setup.
  • For Zeiss® set the MTB® Api library path to version of MTB® you are using, found in program files.
  • For Prior® download Prior® SDK and set path to Prior® SDK PriorScientificSDK.dll
  • Set Functions to controller buttons by double clicking labels. Functions include all microscope functions & ImageJ & Bio C# scripts.
  • Optionally install CUDA for hardware accelerated stitching as well as tile cache in graphics card memory instead of RAM.
  • Star this project on Github to help spread the word about Bio!

Dependencies

Licenses

Scripting

  • Save scripts into "StartupPath/Scripts" with ".cs" ending.
  • Open script editor and recorder from menu.
  • Double click on script name in Script runner to run script.
  • Scripts saved in Scripts folder will be loaded into script runner.
  • Program installer include sample script "Sample.cs" which gets & sets pixels and saves resulting image.
  • Use Script recorder to record program function calls and script runner to turn recorder text into working scripts. (See sample) scripts

Plugins

  • Save plugin DLL's into "StartupPath/Plugins"
  • See example plugin to create your own plugins.

Sample Tool Script

//css_reference Bio.dll;
using System;
using System.Windows.Forms;
using System.Drawing;
using Bio;
using System.Threading;
public class Loader
{

	//Point ROI Tool Example
	public string Load()
	{
		int ind = 1;
		do
		{
			Bio.Scripting.State s = Bio.Scripting.GetState();
			if (s != null)
			{
				if (!s.processed)
				{
					if (s.type == Bio.Scripting.Event.Down && s.buts == MouseButtons.Left)
					{
						ZCT cord = Bio.App.viewer.GetCoordinate();
						Bio.Scripting.LogLine(cord.ToString() + " Coordinate");
						Bio.ROI an = Bio.ROI.CreatePoint(cord, s.p.X, s.p.Y);
						Bio.ImageView.SelectedImage.Annotations.Add(an);
						Bio.Scripting.LogLine(cord.ToString() + " Coordinate");
						an.Text = "Point" + ind;
						ind++;
						Bio.Scripting.LogLine(s.ToString() + " Point");
						//ImageView.viewer.UpdateOverlay();
					}
					else
					if (s.type == Bio.Scripting.Event.Up)
					{
						Bio.Scripting.LogLine(s.ToString());
					}
					else
					if (s.type == Bio.Scripting.Event.Move)
					{
						Bio.Scripting.LogLine(s.ToString());
					}
					s.processed = true;
				}
			}
		} while (true);
		return "OK";
	}
}
Product Compatible and additional computed target framework versions.
.NET net8.0-windows7.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
4.5.1 110 10/19/2024
4.5.0 104 10/19/2024
4.4.0 75 10/7/2024
4.3.0 103 7/14/2024
4.2.0 91 7/8/2024
4.1.0 100 5/8/2024
4.0.0 121 4/30/2024
3.9.1 113 4/22/2024
3.9.0 103 4/22/2024
3.8.2 252 3/1/2024
3.8.1 165 2/29/2024
3.8.0 248 2/29/2024 3.8.0 is deprecated because it has critical bugs.
3.7.0 189 1/5/2024
3.6.0 134 12/28/2023
3.5.0 248 12/7/2023
3.4.0 357 12/4/2023
3.3.0 139 11/2/2023
3.2.0 483 8/27/2023
3.1.1 449 8/1/2023
3.1.0 400 7/31/2023
3.0.0 376 7/26/2023
1.0.0 366 7/24/2023

CUDA code update fixing incorect tiling during zoom.