BioImager  3.9.1
A .NET microscopy imaging library. Supports various microscopes by using imported libraries & GUI automation. Supported libraries include Prior® & Zeiss® & all devices supported by Micromanager 2.0 and python-microscope.
Loading...
Searching...
No Matches
BioImager Documentation

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

Setup

Dependencies

Licenses

Scripting

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";
    }
}