Skip to content

Commit c7bf8fb

Browse files
committed
3.4.1 OMERO Support.
1 parent 9f856e8 commit c7bf8fb

File tree

3 files changed

+17
-31
lines changed

3 files changed

+17
-31
lines changed

BioGTK.csproj

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,7 @@
427427
</ItemGroup>
428428

429429
<ItemGroup>
430+
<PackageReference Include="BioLib" Version="3.4.1" />
430431
<PackageReference Include="Flurl" Version="4.0.0" />
431432
<PackageReference Include="Flurl.Http" Version="4.0.2" />
432433
<PackageReference Include="ImageJ.NET" Version="154.0.0.2" />
@@ -439,18 +440,14 @@
439440
<PrivateAssets>all</PrivateAssets>
440441
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
441442
</PackageReference>
442-
<PackageReference Include="ScottPlot" Version="5.0.47" />
443+
<PackageReference Include="ScottPlot" Version="5.0.48" />
443444
<PackageReference Include="SkiaSharp" Version="3.116.1" />
444445
<PackageReference Include="SkiaSharp.NativeAssets.Linux" Version="3.116.1" />
445446
<PackageReference Include="SkiaSharp.NativeAssets.macOS" Version="3.116.1" />
446447
<PackageReference Include="SkiaSharp.NativeAssets.Win32" Version="3.116.1" />
447448
<PackageReference Include="SkiaSharp.Views.Gtk3" Version="3.116.1" />
448-
<PackageReference Include="TorchSharp-cpu" Version="0.104.0" />
449-
<PackageReference Include="YamlDotNet" Version="16.2.1" />
450-
</ItemGroup>
451-
452-
<ItemGroup>
453-
<ProjectReference Include="..\BioLib\BioLib.csproj" />
449+
<PackageReference Include="TorchSharp-cpu" Version="0.105.0" />
450+
<PackageReference Include="YamlDotNet" Version="16.3.0" />
454451
</ItemGroup>
455452

456453
<ItemGroup>

Source/ImageView.cs

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -346,36 +346,24 @@ private async void Render(object sender, SkiaSharp.Views.Desktop.SKPaintSurfaceE
346346
canvas.DrawImage(SKImages[i], 0, 0, paint);
347347
if (overviewImage != null)
348348
{
349+
var ims = BitmapToSKImage(overviewImage.GetImageRGB());
350+
paint.Style = SKPaintStyle.Fill;
349351
// Draw the overview image at the top-left corner
350-
canvas.DrawImage(BitmapToSKImage(overviewImage), 0, 0, paint);
352+
canvas.DrawImage(ims, 0, 0, paint);
351353
}
352354
// Set the paint style to stroke for drawing rectangles
353355
paint.Style = SKPaintStyle.Stroke;
354356
// Draw the gray rectangle representing the overview's entire visible region
355357
paint.Color = SKColors.Gray;
356358
canvas.DrawRect(overview.X, overview.Y, overview.Width, overview.Height, paint);
357359
paint.Color = SKColors.Red;
358-
if (!openSlide)
359-
{
360-
double dsx = _slideBase.Schema.Resolutions[Level].UnitsPerPixel / Resolution;
361-
Resolution rs = SelectedImage.Resolutions[Level];
362-
double dx = ((double)PyramidalOrigin.X / (rs.SizeX * dsx)) * overview.Width;
363-
double dy = ((double)PyramidalOrigin.Y / (rs.SizeY * dsx)) * overview.Height;
364-
double dw = ((double)viewStack.AllocatedWidth / (rs.SizeX)) * overview.Width * dsx;
365-
double dh = ((double)viewStack.AllocatedHeight / (rs.SizeY)) * overview.Height * dsx;
366-
canvas.DrawRect((int)dx, (int)dy, (int)dw, (int)dh, paint);
367-
}
368-
else
369-
{
370-
double dsx = _openSlideBase.Schema.Resolutions[Level].UnitsPerPixel / Resolution;
371-
var rs = _openSlideBase.Schema.Resolutions.Last();
372-
Resolution rss = SelectedImage.Resolutions[Level];
373-
double dx = ((double)PyramidalOrigin.X / (rss.SizeX * dsx)) * overview.Width;
374-
double dy = ((double)PyramidalOrigin.Y / (rss.SizeY * dsx)) * overview.Height;
375-
double dw = ((double)viewStack.AllocatedWidth / (rss.SizeX * dsx)) * overview.Width;
376-
double dh = ((double)viewStack.AllocatedHeight / (rss.SizeY * dsx)) * overview.Height;
377-
canvas.DrawRect((int)dx, (int)dy, (int)dw, (int)dh, paint);
378-
}
360+
double dsx = _slideBase.Schema.Resolutions[Level].UnitsPerPixel / Resolution;
361+
Resolution rs = SelectedImage.Resolutions[Level];
362+
double dx = ((double)PyramidalOrigin.X / (rs.SizeX * dsx)) * overview.Width;
363+
double dy = ((double)PyramidalOrigin.Y / (rs.SizeY * dsx)) * overview.Height;
364+
double dw = ((double)viewStack.AllocatedWidth / (rs.SizeX)) * overview.Width * dsx;
365+
double dh = ((double)viewStack.AllocatedHeight / (rs.SizeY)) * overview.Height * dsx;
366+
canvas.DrawRect((int)dx, (int)dy, (int)dw, (int)dh, paint);
379367
}
380368
}
381369
catch (Exception ex)
@@ -832,7 +820,6 @@ private void InitPreview()
832820
Bitmap bm = BioImage.GetTile(SelectedImage, SelectedImage.GetFrameIndex(GetCoordinate().Z, GetCoordinate().C, GetCoordinate().T), MacroResolution.Value - 2, 0, 0, SelectedImage.Resolutions[MacroResolution.Value - 2].SizeX, SelectedImage.Resolutions[MacroResolution.Value - 2].SizeY);
833821
ResizeBilinear re = new ResizeBilinear(overview.Width, overview.Height);
834822
Bitmap bmp = re.Apply(bm.GetImageRGB());
835-
bmp.SwitchRedBlue();
836823
overviewImage = bmp;
837824
}
838825
else
@@ -851,7 +838,6 @@ private void InitPreview()
851838
Bitmap bm = BioImage.GetTile(SelectedImage, SelectedImage.GetFrameIndex(GetCoordinate().Z, GetCoordinate().C, GetCoordinate().T), lev, 0, 0, SelectedImage.Resolutions[lev].SizeX, SelectedImage.Resolutions[lev].SizeY);
852839
ResizeBilinear re = new ResizeBilinear(overview.Width, overview.Height);
853840
Bitmap bmp = re.Apply(bm.GetImageRGB());
854-
bmp.SwitchRedBlue();
855841
overviewImage = bmp;
856842
}
857843
ShowOverview = true;

Source/OMERO.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ protected OMERO(Builder builder, IntPtr handle) : base(handle)
6868

6969
private void View_ItemActivated(object o, ItemActivatedArgs args)
7070
{
71+
BioLib.OMERO.ReConnect();
7172
TreePath path = args.Path;
7273
store.GetIter(out TreeIter iter, path);
7374
string selectedItem;
@@ -154,6 +155,8 @@ private void InitIcons()
154155
if (db.getId() == long.Parse(sts[1]))
155156
continue;
156157
List<long> str = BioLib.OMERO.GetDatasetIds(db.getId());
158+
if (str.Count == 0)
159+
BioLib.OMERO.ReConnect();
157160
foreach (var item in str)
158161
{
159162
Image image = new Image();

0 commit comments

Comments
 (0)