BioImager  5.0.0
A .NET microscopy imaging application based on Bio library. Supports various microscopes by using imported libraries & GUI automation. Supports XInput game controllers to move stage, take images, run ImageJ macros on images or Bio C# scripts.
Loading...
Searching...
No Matches
BioImager.MicroManager Class Reference

Classes

struct  Conf
 
class  Objectives
 
class  Shutters
 

Static Public Member Functions

static Conf[] GetConfigs (string Class, string Type)
 
static bool Initialize (string config)
 
static BioImage TakeImage (string name)
 
static void SetExposure (float f)
 
static void SetPosition (Point3D p)
 
static void SetPosition (PointD p)
 
static void GetPosition3D (out Point3D p, bool update)
 
static void GetPosition (out PointD p, bool update)
 

Static Public Attributes

static mmcorej.CMMCore core
 
static MMStudio studio
 
static PointD location
 
static double focus
 
static Dictionary< string, List< Conf > > Config = new Dictionary<string, List<Conf>>()
 
static bool initialized = false
 
static string TurretName = ""
 

Detailed Description

Definition at line 18 of file MicroManager.cs.

Member Function Documentation

◆ GetConfigs()

static Conf[] BioImager.MicroManager.GetConfigs ( string Class,
string Type )
static

Definition at line 46 of file MicroManager.cs.

47 {
48 List<Conf> configs = new List<Conf>();
49 foreach (var conf in Config[Class])
50 {
51 if(conf.Type == Type) configs.Add(conf);
52 }
53 return configs.ToArray();
54 }
static Dictionary< string, List< Conf > > Config

◆ GetPosition()

static void BioImager.MicroManager.GetPosition ( out PointD p,
bool update )
static

Definition at line 168 of file MicroManager.cs.

169 {
170 var pos = core.getXYStagePosition();
171 p = new PointD(pos.x, pos.y);
172 }
AForge.PointD PointD
static mmcorej.CMMCore core

◆ GetPosition3D()

static void BioImager.MicroManager.GetPosition3D ( out Point3D p,
bool update )
static

Definition at line 162 of file MicroManager.cs.

163 {
164 var pos = core.getXYStagePosition();
165 var f = core.getPosition();
166 p = new Point3D(pos.x, pos.y, f);
167 }

◆ Initialize()

static bool BioImager.MicroManager.Initialize ( string config)
static

Definition at line 57 of file MicroManager.cs.

58 {
59 try
60 {
61 Directory.SetCurrentDirectory("C:/Program Files/Micro-Manager-2.0/");
62 java.lang.System.setProperty("force.annotation.index", "true");
63 // Set the library path (adjust the path as needed)
64 java.lang.System.setProperty("org.micromanager.corej.path", "C:/Program Files/Micro-Manager-2.0");
65 java.lang.System.setProperty("user.dir", "C:/Program Files/Micro-Manager-2.0/");
66 MMStudio.main(new string[] { });
67 studio = MMStudio.getInstance();
68 core = (CMMCore)studio.core();
69 Objectives.Initialize();
70 Directory.SetCurrentDirectory(Path.GetDirectoryName(Environment.ProcessPath));
71 return true;
72 }
73 catch (Exception e)
74 {
75 // Log the exception message
76 Console.WriteLine("Error during Micro-Manager initialization: " + e.Message);
77 return false; // Return false on failure
78 }
79 }
static MMStudio studio

◆ SetExposure()

static void BioImager.MicroManager.SetExposure ( float f)
static

Definition at line 149 of file MicroManager.cs.

150 {
151 core.setExposure(f);
152 }

◆ SetPosition() [1/2]

static void BioImager.MicroManager.SetPosition ( Point3D p)
static

Definition at line 153 of file MicroManager.cs.

154 {
155 core.setXYPosition(p.X, p.Y);
156 core.setPosition(p.Z);
157 }

◆ SetPosition() [2/2]

static void BioImager.MicroManager.SetPosition ( PointD p)
static

Definition at line 158 of file MicroManager.cs.

159 {
160 core.setXYPosition(p.X, p.Y);
161 }

◆ TakeImage()

static BioImage BioImager.MicroManager.TakeImage ( string name)
static

Definition at line 81 of file MicroManager.cs.

82 {
83 int width, height, depth, bits, channels = 0;
84 AForge.Bitmap[] bm;
85 TakeImage(name,out width,out height,out depth,out bits,out channels, out bm);
86 BioImage im = new BioImage(name);
87 foreach (AForge.Bitmap item in bm)
88 {
89 item.Stats = Statistics.FromBytes(item);
90 }
91 im.Buffers.AddRange(bm);
92 //Set the physical size based on objective view
93 RectangleD rec = Microscope.GetViewRectangle(false);
94 Point3D p = Microscope.GetPosition();
95 Resolution res = new Resolution(width, height, im.Buffers[0].PixelFormat, rec.W / im.Buffers[0].SizeX, rec.H / im.Buffers[0].SizeY, 1, p.X, p.Y, p.Z);
96 im.Volume.Location = p;
97 im.Volume.Width = rec.W;
98 im.Volume.Height = rec.H;
99 im.UpdateCoords(1, 1, 1);
100 im.Resolutions.Add(res);
101 for (int c = 0; c < bm.Length; c++)
102 {
103 im.Channels.Add(new Channel(c, bm[c].BitsPerPixel, bm[c].RGBChannelsCount));
104 }
105 BioImage.AutoThreshold(im, false);
106 return im;
107 }
AForge.RectangleD RectangleD
BioLib.BioImage BioImage
Definition TabsView.cs:15
static BioImage TakeImage(string name)

Member Data Documentation

◆ Config

Dictionary<string, List<Conf> > BioImager.MicroManager.Config = new Dictionary<string, List<Conf>>()
static

Definition at line 24 of file MicroManager.cs.

◆ core

mmcorej.CMMCore BioImager.MicroManager.core
static

Definition at line 20 of file MicroManager.cs.

◆ focus

double BioImager.MicroManager.focus
static

Definition at line 23 of file MicroManager.cs.

◆ initialized

bool BioImager.MicroManager.initialized = false
static

Definition at line 55 of file MicroManager.cs.

◆ location

PointD BioImager.MicroManager.location
static

Definition at line 22 of file MicroManager.cs.

◆ studio

MMStudio BioImager.MicroManager.studio
static

Definition at line 21 of file MicroManager.cs.

◆ TurretName

string BioImager.MicroManager.TurretName = ""
static

Definition at line 56 of file MicroManager.cs.


The documentation for this class was generated from the following file: