BioGTK  6.5.0
A .NET library & program for annotating, editing various microscopy imaging formats using Bioformats supported images. Including whole slide, pyramidal, and series.
Loading...
Searching...
No Matches
BioGTK.TabsView Class Reference
Inheritance diagram for BioGTK.TabsView:

Public Member Functions

ImageView GetViewer (int i)
 
ImageViewGetViewer (string name)
 
int GetViewerCount ()
 
void RemoveViewer (ImageView v)
 
void AddViewer (ImageView v)
 
void RenameTab (string name, string newName)
 
void SetTab (int i)
 Sets the current tab index.
 
void AddTab (BioImage im)
 
void RemoveTab (string tabName)
 
void Open (string file)
 

Static Public Member Functions

static TabsView Create ()
 
static bool SetImageJPath ()
 

Public Attributes

MenuBar ImageJMenu
 
MenuBar MainMenu
 

Protected Member Functions

 TabsView (Builder builder, IntPtr handle)
 
void SetupHandlers ()
 This function sets up the event handlers for the menu items.
 
async void openImagesMenuClick (object sender, EventArgs a)
 
async void openOMEImagesMenuClick (object sender, EventArgs a)
 
async void openOMESeriesMenuClick (object sender, EventArgs a)
 
async void openSeriesMenuClick (object sender, EventArgs a)
 
async void addImagesToTabMenuClick (object sender, EventArgs a)
 
async void addOMEImagesToTabClick (object sender, EventArgs a)
 
async void saveSelectedTiffClick (object sender, EventArgs a)
 
async void saveSelectedOMEClick (object sender, EventArgs a)
 
async void saveTabOMEClick (object sender, EventArgs a)
 
async void saveTabTiffMenuClick (object sender, EventArgs a)
 
async void saveSeriesMenuClick (object sender, EventArgs a)
 
void imagesToStackClick (object sender, EventArgs a)
 
void toolsMenuClick (object sender, EventArgs a)
 
void setToolMenuClick (object sender, EventArgs a)
 
void roiManagerMenuClick (object sender, EventArgs a)
 
void exportROIsToCSVMenuClick (object sender, EventArgs a)
 
void importROIsFromCSVMenuClick (object sender, EventArgs a)
 
void exportROIsOfFolderOfImagesMenuClick (object sender, EventArgs a)
 
void autoThresholdAllMenuClick (object sender, EventArgs a)
 
void channelsToolMenuClick (object sender, EventArgs a)
 
void switchRedBlueMenuClick (object sender, EventArgs a)
 
void stackToolMenuClick (object sender, EventArgs a)
 
void to8BitMenuClick (object sender, EventArgs a)
 
void to16BitMenuClick (object sender, EventArgs a)
 
void to24BitMenuClick (object sender, EventArgs a)
 
void to32BitMenuClick (object sender, EventArgs a)
 
void to48BitMenuClick (object sender, EventArgs a)
 
void filtersMenuClick (object sender, EventArgs a)
 
void functionsToolMenuClick (object sender, EventArgs a)
 
void consoleMenuClick (object sender, EventArgs a)
 
void scriptRunnerMenuClick (object sender, EventArgs a)
 
void AboutClick (object sender, EventArgs a)
 

Detailed Description

Definition at line 19 of file TabsView.cs.

Constructor & Destructor Documentation

◆ TabsView()

BioGTK.TabsView.TabsView ( Builder builder,
IntPtr handle )
protected

Definition at line 219 of file TabsView.cs.

219 : base(handle)
220 {
221 _builder = builder;
222 App.tabsView = this;
223 builder.Autoconnect(this);
224 filteredMenu.Active = true;
226 progress = Progress.Create(title, "", "");
227 Function.InitializeMainMenu();
228 filechooser =
229 new Gtk.FileChooserDialog("Choose file to open",
230 this,
231 FileChooserAction.Open,
232 "Cancel", ResponseType.Cancel,
233 "OK", ResponseType.Accept);
234 filechooser.SelectMultiple = true;
235 Menu m = new Menu();
236 foreach (RotateFlipType flip in (RotateFlipType[])Enum.GetValues(typeof(RotateFlipType)))
237 {
238 MenuItem mi = new MenuItem(flip.ToString());
239 mi.ButtonPressEvent += RotateFlip_ButtonPressEvent;
240 m.Append(mi);
241 }
242 rotateFlipMenu.Submenu = m;
243 rotateFlipMenu.ShowAll();
244 string a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
245 Menu me = new Menu();
246 foreach (char c in a)
247 {
248 MenuItem mi = new MenuItem(c.ToString());
249 Menu men = new Menu();
250 foreach (Fiji.Macro.Command command in Fiji.Macro.Commands.Values)
251 {
252 if (command.Name.StartsWith(c))
253 {
254 MenuItem menuItem = new MenuItem(command.Name.ToString());
255 menuItem.ButtonPressEvent += CommandMenuItem_ButtonPressEvent;
256 men.Append(menuItem);
257 }
258 }
259 mi.Submenu = men;
260 me.Append(mi);
261 }
262 commandsMenu.Submenu = me;
263 commandsMenu.ShowAll();
264 recentMenu.Submenu = recent;
265
266 App.ApplyStyles(this);
267 Menu rm = new Menu();
268 foreach(Scripting.Script s in Scripting.scripts.Values)
269 {
270 MenuItem mi = new MenuItem(s.name);
271 mi.ButtonPressEvent += Mi_ButtonPressEvent;
272 rm.Append(mi);
273 }
274 //runMenu.ShowAll();
275 Plugins.Initialize();
276 ML.ML.Initialize();
277 AIMenu.ShowAll();
278 App.MoveToMain(this);
279 }
void SetupHandlers()
This function sets up the event handlers for the menu items.
Definition TabsView.cs:391

Member Function Documentation

◆ AboutClick()

void BioGTK.TabsView.AboutClick ( object sender,
EventArgs a )
protected

It creates a new instance of the About class, and then shows it

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes containing event data.

Definition at line 1589 of file TabsView.cs.

1590 {
1591 App.about = About.Create();
1592 App.about.Show();
1593 App.about.Present();
1594 }

◆ addImagesToTabMenuClick()

async void BioGTK.TabsView.addImagesToTabMenuClick ( object sender,
EventArgs a )
protected

It opens a file chooser dialog, and then adds the selected images to the currently selected viewer

Parameters
senderThe object that sent the event.
EventArgsThe event arguments.
Returns
The response type of the filechooser dialog.

Definition at line 1177 of file TabsView.cs.

1178 {
1179 filechooser = new FileChooserDialog("Choose file to add to current tab.", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1180 filechooser.SelectMultiple = true;
1181 if (filechooser.Run() != (int)ResponseType.Accept)
1182 return;
1183 filechooser.Hide();
1184 foreach (string item in filechooser.Filenames)
1185 {
1186 StartProgress("Add Image to Tab", "Opening");
1187 await BioImage.OpenAsync(item, false, false, true, 0);
1188 BioImage im = Images.GetImage(item);
1189 AddTab(im);
1190 StopProgress();
1191 }
1192 this.ShowAll();
1193 }
void AddTab(BioImage im)
Definition TabsView.cs:966

◆ addOMEImagesToTabClick()

async void BioGTK.TabsView.addOMEImagesToTabClick ( object sender,
EventArgs a )
protected

It opens a file chooser dialog, and when the user selects a file, it opens the file as an OME image, and adds it to the currently selected viewer

Parameters
senderThe object that sent the event.
EventArgsThe event arguments.
Returns
The response type of the filechooser dialog.

Definition at line 1201 of file TabsView.cs.

1202 {
1203 filechooser = new FileChooserDialog("Choose OME file to add to current tab.", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1204 filechooser.SelectMultiple = true;
1205 if (filechooser.Run() != (int)ResponseType.Accept)
1206 return;
1207 filechooser.Hide();
1208 foreach (string item in filechooser.Filenames)
1209 {
1210 StartProgress("Add Image to Tab", "Opening");
1211 await BioImage.OpenAsync(item, true, false, true, 0);
1212 BioImage im = Images.GetImage(item);
1213 AddTab(im);
1214 StopProgress();
1215 }
1216 this.Show();
1217 }

◆ AddTab()

void BioGTK.TabsView.AddTab ( BioImage im)

It adds a new tab to the tab control

Parameters
BioImageThis is the image that you want to display.

Definition at line 966 of file TabsView.cs.

967 {
968
969 try
970 {
971 if (im == null)
972 return;
973 for (int vi = 0; vi < viewers.Count; vi++)
974 {
975 for (int i = 0; i < viewers[vi].Images.Count; i++)
976 {
977 if (viewers[vi].Images[i].Filename == im.Filename)
978 return;
979 }
980 }
981 ImageView v = ImageView.Create(im);
982 viewers.Add(v);
983 Label dummy = new Gtk.Label(System.IO.Path.GetDirectoryName(im.file.Replace("\\", "/")) + "/" + im.Filename);
984 dummy.Text = im.file.Replace("\\", "/") + "/" + im.Filename;
985 dummy.Visible = false;
986 Label l = new Gtk.Label(System.IO.Path.GetFileName(im.Filename));
987 l.Text = System.IO.Path.GetFileName(im.Filename);
988 tabsView.AppendPage(dummy, l);
989 Console.WriteLine("New tab added for " + im.Filename);
990 App.nodeView.UpdateItems();
991 tabsView.ShowAll();
992 v.Show();
993 }
994 catch (Exception e)
995 {
996 // Execute on UI thread
997 Gtk.Application.Invoke((sender, args) =>
998 {
999 if (im == null)
1000 return;
1001 for (int vi = 0; vi < viewers.Count; vi++)
1002 {
1003 for (int i = 0; i < viewers[vi].Images.Count; i++)
1004 {
1005 if (viewers[vi].Images[i].Filename == im.Filename)
1006 return;
1007 }
1008 }
1009 ImageView v = ImageView.Create(im);
1010 viewers.Add(v);
1011 Label dummy = new Gtk.Label(System.IO.Path.GetDirectoryName(im.file.Replace("\\", "/")) + "/" + im.Filename);
1012 dummy.Text = im.file.Replace("\\", "/") + "/" + im.Filename;
1013 dummy.Visible = false;
1014 Label l = new Gtk.Label(System.IO.Path.GetFileName(im.Filename));
1015 l.Text = System.IO.Path.GetFileName(im.Filename);
1016 tabsView.AppendPage(dummy, l);
1017 Console.WriteLine("New tab added for " + im.Filename);
1018 App.nodeView.UpdateItems();
1019 tabsView.ShowAll();
1020 v.Show();
1021 });
1022 }
1023 }

◆ AddViewer()

void BioGTK.TabsView.AddViewer ( ImageView v)

Definition at line 48 of file TabsView.cs.

49 {
50 viewers.Add(v);
51 }

◆ autoThresholdAllMenuClick()

void BioGTK.TabsView.autoThresholdAllMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the "Auto Threshold All" menu item.

Parameters
senderThe object that raised the event.
EventArgsThe event arguments.

Definition at line 1455 of file TabsView.cs.

1456 {
1457 BioImage.AutoThreshold(ImageView.SelectedImage, true);
1458 if (ImageView.SelectedImage.bitsPerPixel > 8)
1459 ImageView.SelectedImage.StackThreshold(true);
1460 else
1461 ImageView.SelectedImage.StackThreshold(false);
1462 App.viewer.UpdateImage();
1463 App.viewer.UpdateView();
1464 }

◆ channelsToolMenuClick()

void BioGTK.TabsView.channelsToolMenuClick ( object sender,
EventArgs a )
protected

It creates a new instance of the ChannelsTool class, and then shows it

Parameters
senderThe object that raised the event.
EventArgsThe event arguments.

Definition at line 1469 of file TabsView.cs.

1470 {
1471 if (App.viewer == null)
1472 return;
1473 App.channelsTool = ChannelsTool.Create();
1474 App.channelsTool.Show();
1475 App.channelsTool.Present();
1476 }

◆ consoleMenuClick()

void BioGTK.TabsView.consoleMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the console menu button

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments that are passed to the event handler.

Definition at line 1568 of file TabsView.cs.

1569 {
1570 App.console = BioConsole.Create();
1571 App.console.Show();
1572 App.console.Present();
1573 }

◆ Create()

static TabsView BioGTK.TabsView.Create ( )
static

It creates a new instance of the TabsView class, which is a class that inherits from Gtk.Window

Returns
A new instance of the TabsView class.

Definition at line 212 of file TabsView.cs.

213 {
214 Builder builder = new Builder(new FileStream(System.IO.Path.GetDirectoryName(Environment.ProcessPath) + "/" + "Glade/TabsView.glade", FileMode.Open));
215 return new TabsView(builder, builder.GetObject("TabsView").Handle);
216 }

◆ exportROIsOfFolderOfImagesMenuClick()

void BioGTK.TabsView.exportROIsOfFolderOfImagesMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the "Export ROIs of Folder of Images" menu item

Parameters
senderThe object that raised the event.
EventArgs

Definition at line 1426 of file TabsView.cs.

1427 {
1428 Gtk.FileChooserDialog folderchooser = new Gtk.FileChooserDialog("Set folder of images for export.",
1429 this,
1430 FileChooserAction.SelectFolder,
1431 "Cancel", ResponseType.Cancel,
1432 "Ok", ResponseType.Ok);
1433 folderchooser.SelectMultiple = true;
1434 if (folderchooser.Run() != (int)ResponseType.Ok)
1435 return;
1436 string folder = folderchooser.Filename;
1437 folderchooser.Destroy();
1438 Gtk.FileChooserDialog filechooser = new Gtk.FileChooserDialog("Set filename for CSV to export.",
1439 this,
1440 FileChooserAction.Save,
1441 "Cancel", ResponseType.Cancel,
1442 "Ok", ResponseType.Ok);
1443 filechooser.SelectMultiple = false;
1444 if (filechooser.Run() != (int)ResponseType.Ok)
1445 return;
1446 string file = filechooser.Filename;
1447 filechooser.Hide();
1448 BioImage.ExportROIFolder(folder, file);
1449 }

◆ exportROIsToCSVMenuClick()

void BioGTK.TabsView.exportROIsToCSVMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the "Export ROIs to CSV" menu item

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes containing event data.

Definition at line 1388 of file TabsView.cs.

1389 {
1390 Gtk.FileChooserDialog filechooser = new Gtk.FileChooserDialog("Set filename for export.",
1391 this,
1392 FileChooserAction.Save,
1393 "Cancel", ResponseType.Cancel,
1394 "Ok", ResponseType.Ok);
1395 filechooser.SelectMultiple = false;
1396 if (filechooser.Run() != (int)ResponseType.Ok)
1397 return;
1398 BioImage.ExportROIsCSV(filechooser.Filename, ImageView.SelectedImage.Annotations);
1399 filechooser.Hide();
1400 }

◆ filtersMenuClick()

void BioGTK.TabsView.filtersMenuClick ( object sender,
EventArgs a )
protected

It shows the filters menu.

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes that contain event data.

Definition at line 1547 of file TabsView.cs.

1548 {
1549 App.filters = FiltersView.Create();
1550 App.filters.Show();
1551 App.filters.Present();
1552 }

◆ functionsToolMenuClick()

void BioGTK.TabsView.functionsToolMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the functions tool menu item

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes containing event data.

Definition at line 1558 of file TabsView.cs.

1559 {
1560 App.funcs = Functions.Create();
1561 App.funcs.Show();
1562 App.funcs.Present();
1563 }

◆ GetViewer() [1/2]

ImageView BioGTK.TabsView.GetViewer ( int i)

Definition at line 24 of file TabsView.cs.

25 {
26 return viewers[i];
27 }

◆ GetViewer() [2/2]

ImageView? BioGTK.TabsView.GetViewer ( string name)

Definition at line 28 of file TabsView.cs.

29 {
30 for (int v = 0; v < viewers.Count; v++)
31 {
32 for (int i = 0; i < viewers.Count; i++)
33 {
34 if (viewers[v].Images[i].Filename == name)
35 return viewers[v];
36 }
37 }
38 return null;
39 }

◆ GetViewerCount()

int BioGTK.TabsView.GetViewerCount ( )

Definition at line 40 of file TabsView.cs.

41 {
42 return viewers.Count;
43 }

◆ imagesToStackClick()

void BioGTK.TabsView.imagesToStackClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks the "Images to Stack" button

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes that contain event data.

Definition at line 1335 of file TabsView.cs.

1336 {
1337 Gtk.FileChooserDialog filechooser =
1338 new Gtk.FileChooserDialog("Choose images to convert to stack.",
1339 this,
1340 FileChooserAction.Save,
1341 "Cancel", ResponseType.Cancel,
1342 "Save", ResponseType.Accept);
1343 filechooser.SelectMultiple = true;
1344 if (filechooser.Run() != (int)ResponseType.Accept)
1345 return;
1346 filechooser.Hide();
1347 BioImage b = BioImage.ImagesToStack(filechooser.Filenames, true);
1348 AddTab(b);
1349 }

◆ importROIsFromCSVMenuClick()

void BioGTK.TabsView.importROIsFromCSVMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the "Import ROIs from CSV" menu item

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes containing event data.

Definition at line 1405 of file TabsView.cs.

1406 {
1407 Gtk.FileChooserDialog filechooser = new Gtk.FileChooserDialog("Choose the file to open.",
1408 this,
1409 FileChooserAction.Open,
1410 "Cancel", ResponseType.Cancel,
1411 "Ok", ResponseType.Ok);
1412 filechooser.SelectMultiple = true;
1413 if (filechooser.Run() != (int)ResponseType.Ok)
1414 return;
1415 foreach (string item in filechooser.Filenames)
1416 {
1417 ImageView.SelectedImage.Annotations.AddRange(BioImage.ImportROIsCSV(item));
1418 }
1419 filechooser.Hide();
1420 }

◆ Open()

void BioGTK.TabsView.Open ( string file)

Open's a file in a new tab.

Parameters
tabNameThe filename of the image to add to tabcontrol

Definition at line 1624 of file TabsView.cs.

1625 {
1626 BioImage b = BioImage.OpenFile(file);
1627 ImageView view = ImageView.Create(b);
1628 if (!viewers.Contains(App.viewer))
1629 viewers.Add(view);
1630 Label dummy = new Gtk.Label(b.Filename);
1631 dummy.Text = b.Filename;
1632 dummy.UseMarkup = false;
1633 dummy.Visible = false;
1634 Label l = new Gtk.Label(b.Filename);
1635 l.Text = b.Filename;
1636 l.UseMarkup = false;
1637 tabsView.AppendPage(dummy, l);
1638 view.Present();
1639 }

◆ openImagesMenuClick()

async void BioGTK.TabsView.openImagesMenuClick ( object sender,
EventArgs a )
protected

It opens a file chooser dialog, and when the user selects a file, it creates a new BioImage object, creates a new ImageView object, and adds the ImageView object to the list of viewers

Parameters
senderThe object that raised the event.
EventArgsThe event arguments.
Returns
The response type of the dialog.

Definition at line 1032 of file TabsView.cs.

1033 {
1034 filechooser = new FileChooserDialog("Choose file to open", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1035 filechooser.SelectMultiple = true;
1036 if (filechooser.Run() != (int)ResponseType.Accept)
1037 return;
1038 string[] sts = filechooser.Filenames;
1039 filechooser.Hide();
1040 foreach (string item in sts)
1041 {
1042 StartProgress("Open File", "Opening");
1043 await BioImage.OpenAsync(item,false,true,true,0);
1044 BioImage im = Images.GetImage(item);
1045 AddTab(im);
1046 StopProgress();
1047 }
1048 }

◆ openOMEImagesMenuClick()

async void BioGTK.TabsView.openOMEImagesMenuClick ( object sender,
EventArgs a )
protected

It opens a file chooser dialog, and when the user selects a file, it opens the file and adds it to the list of open images

Parameters
senderThe object that sent the event.
EventArgsThe event arguments.
Returns
The response type of the dialog.

Definition at line 1056 of file TabsView.cs.

1057 {
1058 filechooser = new FileChooserDialog("Choose OME file to open", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1059 filechooser.SelectMultiple = true;
1060 if (filechooser.Run() != (int)ResponseType.Accept)
1061 return;
1062 filechooser.Hide();
1063 foreach (string item in filechooser.Filenames)
1064 {
1065 StartProgress("Open OME", "Opening");
1066 await BioImage.OpenAsync(item, true, true, true,0);
1067 BioImage im = Images.GetImage(item);
1068 AddTab(im);
1069 StopProgress();
1070 }
1071 }

◆ openOMESeriesMenuClick()

async void BioGTK.TabsView.openOMESeriesMenuClick ( object sender,
EventArgs a )
protected

It opens a file chooser dialog, and when the user selects a file, it opens the file as a BioImage, creates an ImageView for it, and adds the ImageView to the notebook

Parameters
senderThe object that sent the event.
EventArgsThe event arguments.
Returns
A list of file names.

Definition at line 1079 of file TabsView.cs.

1080 {
1081 filechooser = new FileChooserDialog("Choose OME Series file to open.", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1082 filechooser.SelectMultiple = true;
1083 if (filechooser.Run() != (int)ResponseType.Accept)
1084 return;
1085 filechooser.Hide();
1086 foreach (string item in filechooser.Filenames)
1087 {
1088 StartProgress("Open OME", "Opening");
1089 int s = BioImage.GetSeriesCount(item);
1090 for (int i = 0; i < s; i++)
1091 {
1092 await BioImage.OpenAsync(item, true, true, true, i);
1093 BioImage im = Images.GetImage(item);
1094 AddTab(im);
1095 }
1096 }
1097 tabsView.ShowAll();
1098
1099 }

◆ openSeriesMenuClick()

async void BioGTK.TabsView.openSeriesMenuClick ( object sender,
EventArgs a )
protected

It opens a file chooser dialog, and when the user selects a file, it opens the file as a series of images, and adds each image to the notebook

Parameters
senderThe object that raised the event.
EventArgsThe event arguments.
Returns
The response type of the dialog.

Definition at line 1107 of file TabsView.cs.

1108 {
1109 filechooser = new FileChooserDialog("Choose series file to open", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1110 filechooser.SelectMultiple = true;
1111 if (filechooser.Run() != (int)ResponseType.Accept)
1112 return;
1113 filechooser.Hide();
1114 foreach (string item in filechooser.Filenames)
1115 {
1116 StartProgress("Open OME Series", "Opening");
1117 await BioImage.OpenAsync(item, false, true, true, 0);
1118 BioImage im = Images.GetImage(item);
1119 AddTab(im);
1120 StopProgress();
1121 }
1122 tabsView.Show();
1123 }

◆ RemoveTab()

void BioGTK.TabsView.RemoveTab ( string tabName)

This function removes a tab from the tab control

Parameters
tabNameThe name of the tab to remove.

Definition at line 1599 of file TabsView.cs.

1600 {
1601 int i = 0;
1602 foreach (Widget item in tabsView.Children)
1603 {
1604 Gtk.Label l = item as Gtk.Label;
1605 string name = System.IO.Path.GetFileName(l.LabelMarkup);
1606 if (name == tabName)
1607 {
1608 ImageView iv = viewers[i];
1609 for (int v = 0; v < iv.Images.Count; v++)
1610 {
1611 Images.RemoveImage(iv.Images[v]);
1612 }
1613 tabsView.Remove(item);
1614 viewers.RemoveAt(i);
1615 App.nodeView.UpdateItems();
1616 return;
1617 }
1618 i++;
1619 }
1620 }

◆ RemoveViewer()

void BioGTK.TabsView.RemoveViewer ( ImageView v)

Definition at line 44 of file TabsView.cs.

45 {
46 viewers.Remove(v);
47 }

◆ RenameTab()

void BioGTK.TabsView.RenameTab ( string name,
string newName )

Definition at line 571 of file TabsView.cs.

572 {
573 int i = 0;
574 foreach (Widget item in tabsView.Children)
575 {
576 // Get the tab widget for the page and set the new title
577 Label l = (Label)tabsView.GetTabLabel(tabsView.GetNthPage(i));
578 if (l.Text == name)
579 {
580 l.Text = newName;
581 return;
582 }
583 }
584 }

◆ roiManagerMenuClick()

void BioGTK.TabsView.roiManagerMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the ROI Manager menu item

Parameters
senderThe object that raised the event.
EventArgsThis is the class that contains the event data.

Definition at line 1377 of file TabsView.cs.

1378 {
1379 App.roiManager = ROIManager.Create();
1380 App.roiManager.Show();
1381 App.roiManager.Present();
1382 }

◆ saveSelectedOMEClick()

async void BioGTK.TabsView.saveSelectedOMEClick ( object sender,
EventArgs a )
protected

This function saves the selected image in the OME-TIFF format

Parameters
senderThe object that triggered the event.
EventArgsThis is the event that is being called.
Returns
The response type of the filechooser dialog.

Definition at line 1275 of file TabsView.cs.

1276 {
1277 filechooser = new FileChooserDialog("Save Selected OME Image to File", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1278 if (filechooser.Run() != (int)ResponseType.Accept)
1279 return;
1280 filechooser.Hide();
1281 StartProgress("Save Selected OME", "Saving");
1282 await BioImage.SaveAsync(filechooser.Filename, ImageView.SelectedImage.ID, 0, true);
1283 StopProgress();
1284 }

◆ saveSelectedTiffClick()

async void BioGTK.TabsView.saveSelectedTiffClick ( object sender,
EventArgs a )
protected

It creates a file chooser dialog, and if the user selects a file, it saves the selected image to that file

Parameters
senderThe object that triggered the event.
EventArgsThis is the event that is being passed to the method.
Returns
The response type of the dialog.

Definition at line 1259 of file TabsView.cs.

1260 {
1261 filechooser = new FileChooserDialog("Save Selected Image To TIFF", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1262 if (filechooser.Run() != (int)ResponseType.Accept)
1263 return;
1264 filechooser.Hide();
1265 StartProgress("Save Selected Tiff","Saving");
1266 await BioImage.SaveAsync(filechooser.Filename,ImageView.SelectedImage.Filename, 0, false);
1267 StopProgress();
1268 }

◆ saveSeriesMenuClick()

async void BioGTK.TabsView.saveSeriesMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks the "Save Series" menu item

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes containing event data.

Definition at line 1321 of file TabsView.cs.

1322 {
1323 filechooser = new FileChooserDialog("Save TIFF series.", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1324 if (filechooser.Run() != (int)ResponseType.Accept)
1325 return;
1326 filechooser.Hide();
1327 StartProgress("Save Selected Tiff", "Saving");
1328 await BioImage.SaveSeriesAsync(App.viewer.Images.ToArray(), filechooser.Filename, true);
1329 StopProgress();
1330 }

◆ saveTabOMEClick()

async void BioGTK.TabsView.saveTabOMEClick ( object sender,
EventArgs a )
protected

This function saves the current series of images to an OME-TIFF file

Parameters
senderThe object that triggered the event.
EventArgsThe event arguments.
Returns
The response from the filechooser dialog.

Definition at line 1291 of file TabsView.cs.

1292 {
1293 filechooser = new FileChooserDialog("Save Tab as an OME image.", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1294 if (filechooser.Run() != (int)ResponseType.Accept)
1295 return;
1296 filechooser.Hide();
1297 StartProgress("Save Selected OME", "Saving");
1298 await BioImage.SaveSeriesAsync(App.viewer.Images.ToArray(), filechooser.Filename, true);
1299 StopProgress();
1300 }

◆ saveTabTiffMenuClick()

async void BioGTK.TabsView.saveTabTiffMenuClick ( object sender,
EventArgs a )
protected

It saves the current tab as a tiff file

Parameters
senderThe object that sent the event.
EventArgs
Returns
The response type of the filechooser dialog.

Definition at line 1307 of file TabsView.cs.

1308 {
1309 filechooser = new FileChooserDialog("Save Tab as an image.", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1310 if (filechooser.Run() != (int)ResponseType.Accept)
1311 return;
1312 filechooser.Hide();
1313 StartProgress("Save Selected Tiff", "Saving");
1314 await BioImage.SaveSeriesAsync(App.viewer.Images.ToArray(), filechooser.Filename, false);
1315 StopProgress();
1316 }

◆ scriptRunnerMenuClick()

void BioGTK.TabsView.scriptRunnerMenuClick ( object sender,
EventArgs a )
protected

It's a function that runs when the user clicks on the "Script Runner" menu item

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments.

Definition at line 1578 of file TabsView.cs.

1579 {
1580 App.scripting = Scripting.Create();
1581 App.scripting.Show();
1582 App.scripting.Present();
1583 }

◆ SetImageJPath()

static bool BioGTK.TabsView.SetImageJPath ( )
static

This function creates a file chooser dialog that allows the user to select the location of the ImageJ executable

Returns
A boolean value.

Definition at line 300 of file TabsView.cs.

301 {
302 string st = BioLib.Settings.GetSettings("ImageJPath");
303 if (st != "")
304 {
305 Fiji.ImageJPath = BioLib.Settings.GetSettings("ImageJPath");
306 return true;
307 }
308 string title = "Select ImageJ Executable Location";
309 if (OperatingSystem.IsMacOS())
310 title = "Select ImageJ Executable Location (Fiji.app/Contents/MacOS/ImageJ-macosx)";
311 Gtk.FileChooserDialog filechooser =
312 new Gtk.FileChooserDialog(title, Scripting.window,
313 FileChooserAction.Open,
314 "Cancel", ResponseType.Cancel,
315 "Save", ResponseType.Accept);
316 filechooser.SetCurrentFolder(System.IO.Path.GetDirectoryName(Environment.ProcessPath));
317 if (filechooser.Run() != (int)ResponseType.Accept)
318 return false;
319 Fiji.ImageJPath = filechooser.Filename;
320 BioLib.Settings.AddSettings("ImageJPath", filechooser.Filename);
321 filechooser.Destroy();
322 BioLib.Settings.Save();
323 return true;
324 }

◆ SetTab()

void BioGTK.TabsView.SetTab ( int i)

Sets the current tab index.

Parameters
i

Definition at line 959 of file TabsView.cs.

960 {
961 tabsView.Page = i;
962 }

◆ setToolMenuClick()

void BioGTK.TabsView.setToolMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the "Tools" menu item

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments that are passed to the event handler.

Definition at line 1366 of file TabsView.cs.

1367 {
1368 App.setTool = SetTool.Create();
1369 App.setTool.Show();
1370 App.setTool.Present();
1371 }

◆ SetupHandlers()

void BioGTK.TabsView.SetupHandlers ( )
protected

This function sets up the event handlers for the menu items.

Definition at line 391 of file TabsView.cs.

392 {
393 openImagesMenu.ButtonPressEvent += openImagesMenuClick;
394 openOMEImagesMenu.ButtonPressEvent += openOMEImagesMenuClick;
395 openOMESeriesMenu.ButtonPressEvent += openOMESeriesMenuClick;
396 openSeriesMenu.ButtonPressEvent += openSeriesMenuClick;
397 openQuPathProject.ButtonPressEvent += openQuPathProjectMenuClick;
398 addImagesToTabMenu.ButtonPressEvent += addImagesToTabMenuClick;
399 addOMEImagesToTab.ButtonPressEvent += addOMEImagesToTabClick;
400 saveSelectedTiff.ButtonPressEvent += saveSelectedTiffClick;
401 saveSelectedOME.ButtonPressEvent += saveSelectedOMEClick;
402 saveNumPyBut.ButtonPressEvent += SaveNumPyBut_ButtonPressEvent;
403
404 saveTabOME.ButtonPressEvent += saveTabOMEClick;
405 saveTabTiffMenu.ButtonPressEvent += saveTabTiffMenuClick;
406 saveSeriesMenu.ButtonPressEvent += saveSeriesMenuClick;
407 savePyramidalMenu.ButtonPressEvent += SavePyramidalMenu_ButtonPressEvent;
408 saveQuPathProject.ButtonPressEvent += saveQuPathProject_ButtonPressEvent;
409 imagesToStack.ButtonPressEvent += imagesToStackClick;
410 uploadImageMenu.ButtonPressEvent += UploadImageMenu_ButtonPressEvent;
411
412 rgbMenu.ButtonPressEvent += RgbMenu_ButtonPressEvent;
413 filteredMenu.ButtonPressEvent += FilteredMenu_ButtonPressEvent;
414 rawMenu.ButtonPressEvent += RawMenu_ButtonPressEvent;
415 emissionMenu.ButtonPressEvent += EmissionMenu_ButtonPressEvent;
416
417 toolsMenu.ButtonPressEvent += toolsMenuClick;
418 setToolMenu.ButtonPressEvent += setToolMenuClick;
419 runSAMMenu.ButtonPressEvent += RunSAMMenu_ButtonPressEvent;
420 runMicroSAMMenu.ButtonPressEvent += RunMicroSAMMenu_ButtonPressEvent;
421 plateToolMenu.ButtonPressEvent += PlateToolMenu_ButtonPressEvent;
422 extractRegionMenu.ButtonPressEvent += ExtractRegionMenu_ButtonPressEvent;
423
424 roiManagerMenu.ButtonPressEvent += roiManagerMenuClick;
425 exportROIsToCSVMenu.ButtonPressEvent += exportROIsToCSVMenuClick;
426 importROIsFromCSVMenu.ButtonPressEvent += importROIsFromCSVMenuClick;
427 exportROIsOfFolderOfImagesMenu.ButtonPressEvent += exportROIsOfFolderOfImagesMenuClick;
428 importROIsFromImageJMenu.ButtonPressEvent += ImportROIsFromImageJMenu_ButtonPressEvent;
429 exportROIsFromImageJMenu.ButtonPressEvent += ExportROIsFromImageJMenu_ButtonPressEvent;
430 importROIQuPath.ButtonPressEvent += ImportROIQuPath_ButtonPressEvent;
431 exportROIQuPath.ButtonPressEvent += ExportROIQuPath_ButtonPressEvent;
432
433 autoThresholdAllMenu.ButtonPressEvent += autoThresholdAllMenuClick;
434 channelsToolMenu.ButtonPressEvent += channelsToolMenuClick;
435 switchRedBlueMenu.ButtonPressEvent += switchRedBlueMenuClick;
436
437 stackToolMenu.ButtonPressEvent += stackToolMenuClick;
438 focusMenu.ButtonPressEvent += FocusMenu_ButtonPressEvent;
439
440 to8BitMenu.ButtonPressEvent += to8BitMenuClick;
441 to16BitMenu.ButtonPressEvent += to16BitMenuClick;
442 to24BitMenu.ButtonPressEvent += to24BitMenuClick;
443 to32BitMenu.ButtonPressEvent += to32BitMenuClick;
444 to48BitMenu.ButtonPressEvent += to48BitMenuClick;
445 toFloatMenu.ButtonPressEvent += ToFloatMenu_ButtonPressEvent;
446 toShortMenu.ButtonPressEvent += ToShortMenu_ButtonPressEvent;
447
448 filtersMenu.ButtonPressEvent += filtersMenuClick;
449 functionsToolMenu.ButtonPressEvent += functionsToolMenuClick;
450 consoleMenu.ButtonPressEvent += consoleMenuClick;
451 scriptRunnerMenu.ButtonPressEvent += scriptRunnerMenuClick;
452 scriptRecorderMenu.ButtonPressEvent += ScriptRecorderMenu_ButtonPressEvent;
453
454 aboutMenu.ButtonPressEvent += AboutClick;
455
456 tabClose.ButtonPressEvent += TabClose_ButtonPressEvent;
457 tabDuplicate.ButtonPressEvent += TabDuplicate_ButtonPressEvent;
458 this.FocusInEvent += TabsView_FocusInEvent;
459 rgbMenu.ButtonPressEvent += RgbMenu_ButtonPressEvent;
460 filteredMenu.ButtonPressEvent += FilteredMenu_ButtonPressEvent;
461 rawMenu.ButtonPressEvent += RawMenu_ButtonPressEvent;
462 emissionMenu.ButtonPressEvent += EmissionMenu_ButtonPressEvent;
463 tabsView.SwitchPage += TabsView_SwitchPage;
464 tabsView.ButtonPressEvent += TabsView_ButtonPressEvent;
465 this.WindowStateEvent += TabsView_WindowStateEvent;
466 this.DeleteEvent += TabsView_DeleteEvent;
467 omeroMenu.ButtonPressEvent += OmeroMenu_ButtonPressEvent;
468
469 searchMenu.ButtonPressEvent += SearchMenu_ButtonPressEvent;
470 updateMenu.ButtonPressEvent += UpdateMenu_ButtonPressEvent;
471 renameMenu.ButtonPressEvent += RenameMenu_ButtonPressEvent;
472 AIMenu.ButtonPressEvent += AiMenu_ButtonPressEvent;
473
474 // Enable drag-and-drop for this window
475 Gtk.Drag.DestSet(this, DestDefaults.All, new TargetEntry[]
476 {
477 new TargetEntry("text/uri-list", TargetFlags.OtherApp, 0)
478 }, Gdk.DragAction.Copy);
479 this.DragDataReceived += TabsView_DragDataReceived;
480
481 }
void to32BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1530
async void addImagesToTabMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1177
void AboutClick(object sender, EventArgs a)
Definition TabsView.cs:1589
void exportROIsOfFolderOfImagesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1426
async void saveSelectedTiffClick(object sender, EventArgs a)
Definition TabsView.cs:1259
void exportROIsToCSVMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1388
void to8BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1506
async void saveSelectedOMEClick(object sender, EventArgs a)
Definition TabsView.cs:1275
void autoThresholdAllMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1455
void to48BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1538
async void openOMESeriesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1079
void to16BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1514
async void saveTabOMEClick(object sender, EventArgs a)
Definition TabsView.cs:1291
async void openSeriesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1107
void filtersMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1547
void functionsToolMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1558
async void openImagesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1032
void scriptRunnerMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1578
void toolsMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1355
void stackToolMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1495
async void openOMEImagesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1056
void channelsToolMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1469
void imagesToStackClick(object sender, EventArgs a)
Definition TabsView.cs:1335
async void saveSeriesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1321
void to24BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1522
async void addOMEImagesToTabClick(object sender, EventArgs a)
Definition TabsView.cs:1201
void switchRedBlueMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1481
void consoleMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1568
void importROIsFromCSVMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1405
async void saveTabTiffMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1307
void setToolMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1366
void roiManagerMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1377

◆ stackToolMenuClick()

void BioGTK.TabsView.stackToolMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the stack tool menu item

Parameters
senderThe object that raised the event.
EventArgsThe event arguments.

Definition at line 1495 of file TabsView.cs.

1496 {
1497 App.stack = StackTools.Create();
1498 App.stack.Show();
1499 App.stack.Present();
1500 }

◆ switchRedBlueMenuClick()

void BioGTK.TabsView.switchRedBlueMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the "Switch Red and Blue" menu item

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes that contain event data.

Definition at line 1481 of file TabsView.cs.

1482 {
1483 foreach (AForge.Bitmap bf in ImageView.SelectedImage.Buffers)
1484 {
1485 bf.SwitchRedBlue();
1486 }
1487 App.viewer.UpdateImage();
1488 App.viewer.UpdateView();
1489 }

◆ to16BitMenuClick()

void BioGTK.TabsView.to16BitMenuClick ( object sender,
EventArgs a )
protected

This function converts the selected image to 16 bit

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments that are passed to the event handler.

Definition at line 1514 of file TabsView.cs.

1515 {
1516 ImageView.SelectedImage.To16Bit();
1517 }

◆ to24BitMenuClick()

void BioGTK.TabsView.to24BitMenuClick ( object sender,
EventArgs a )
protected

This function converts the selected image to 24 bit

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments that are passed to the event handler.

Definition at line 1522 of file TabsView.cs.

1523 {
1524 ImageView.SelectedImage.To24Bit();
1525 }

◆ to32BitMenuClick()

void BioGTK.TabsView.to32BitMenuClick ( object sender,
EventArgs a )
protected

It converts the selected image to 32 bit

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments that are passed to the event handler.

Definition at line 1530 of file TabsView.cs.

1531 {
1532 ImageView.SelectedImage.To32Bit();
1533 }

◆ to48BitMenuClick()

void BioGTK.TabsView.to48BitMenuClick ( object sender,
EventArgs a )
protected

This function converts the selected image to 48 bit

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments that are passed to the event handler.

Definition at line 1538 of file TabsView.cs.

1539 {
1540 ImageView.SelectedImage.To48Bit();
1541 }

◆ to8BitMenuClick()

void BioGTK.TabsView.to8BitMenuClick ( object sender,
EventArgs a )
protected

The function is called when the user clicks on the "To 8-bit" menu item

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments that are passed to the event handler.

Definition at line 1506 of file TabsView.cs.

1507 {
1508 ImageView.SelectedImage.To8Bit();
1509 }

◆ toolsMenuClick()

void BioGTK.TabsView.toolsMenuClick ( object sender,
EventArgs a )
protected

If the tools window is not open, open it

Parameters
senderThe object that raised the event.
EventArgsThe event arguments.

Definition at line 1355 of file TabsView.cs.

1356 {
1357 if(App.tools == null)
1358 App.tools = Tools.Create();
1359 App.tools.Show();
1360 App.tools.Present();
1361 }

Member Data Documentation

◆ ImageJMenu

MenuBar BioGTK.TabsView.ImageJMenu

Definition at line 55 of file TabsView.cs.

◆ MainMenu

MenuBar BioGTK.TabsView.MainMenu

Definition at line 69 of file TabsView.cs.


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