Skip to content
This repository was archived by the owner on Nov 27, 2024. It is now read-only.

Commit 21a1e21

Browse files
committed
Update ImageUpscale to new API format
1 parent e06cf41 commit 21a1e21

File tree

17 files changed

+255
-515
lines changed

17 files changed

+255
-515
lines changed

OnnxStack.Console/Examples/UpscaleExample.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
using OnnxStack.Core.Image;
22
using OnnxStack.FeatureExtractor.Pipelines;
3-
using OnnxStack.ImageUpscaler.Config;
4-
using SixLabors.ImageSharp;
53

64
namespace OnnxStack.Console.Runner
75
{
86
public sealed class UpscaleExample : IExampleRunner
97
{
108
private readonly string _outputDirectory;
11-
private readonly ImageUpscalerConfig _configuration;
129

13-
public UpscaleExample(ImageUpscalerConfig configuration)
10+
public UpscaleExample()
1411
{
15-
_configuration = configuration;
1612
_outputDirectory = Path.Combine(Directory.GetCurrentDirectory(), "Examples", nameof(UpscaleExample));
1713
Directory.CreateDirectory(_outputDirectory);
1814
}

OnnxStack.Console/Program.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ static async Task Main(string[] _)
1919
// Add OnnxStack
2020
builder.Services.AddOnnxStack();
2121
builder.Services.AddOnnxStackConfig<StableDiffusionConfig>();
22-
builder.Services.AddOnnxStackImageUpscaler();
2322

2423
// Add AppService
2524
builder.Services.AddHostedService<AppService>();

OnnxStack.ImageUpscaler/Config/ImageUpscalerConfig.cs

Lines changed: 0 additions & 16 deletions
This file was deleted.

OnnxStack.ImageUpscaler/Extensions/ImageExtensions.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ internal static class ImageExtensions
1818
/// <param name="sampleSize">Maximum size of the tile.</param>
1919
/// <param name="scaleFactor">The scale factor.</param>
2020
/// <returns></returns>
21-
public static List<ImageTile> GenerateTiles(this OnnxImage imageSource, int sampleSize, int scaleFactor)
21+
internal static List<ImageTile> GenerateTiles(this OnnxImage imageSource, int sampleSize, int scaleFactor)
2222
{
2323
var tiles = new List<ImageTile>();
2424
var tileSizeX = Math.Min(sampleSize, imageSource.Width);
@@ -48,7 +48,7 @@ public static List<ImageTile> GenerateTiles(this OnnxImage imageSource, int samp
4848
/// <param name="sourceImage">The source image.</param>
4949
/// <param name="sourceArea">The source area.</param>
5050
/// <returns></returns>
51-
public static OnnxImage ExtractTile(this OnnxImage sourceImage, Rectangle sourceArea)
51+
internal static OnnxImage ExtractTile(this OnnxImage sourceImage, Rectangle sourceArea)
5252
{
5353
var height = sourceArea.Height;
5454
var targetImage = new Image<Rgba32>(sourceArea.Width, sourceArea.Height);
@@ -65,7 +65,7 @@ public static OnnxImage ExtractTile(this OnnxImage sourceImage, Rectangle source
6565
}
6666

6767

68-
public static void ApplyImageTile(this DenseTensor<float> imageTensor, DenseTensor<float> tileTensor, Rectangle location)
68+
internal static void ApplyImageTile(this DenseTensor<float> imageTensor, DenseTensor<float> tileTensor, Rectangle location)
6969
{
7070
var offsetY = location.Y;
7171
var offsetX = location.X;

OnnxStack.ImageUpscaler/Models/ImageTile.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
namespace OnnxStack.ImageUpscaler.Models
55
{
6-
public record ImageTile
6+
internal record ImageTile
77
{
88
public OnnxImage Image { get; set; }
99
public Rectangle Destination { get; set; }

OnnxStack.ImageUpscaler/Models/UpscaleInput.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace OnnxStack.ImageUpscaler.Models
44
{
5-
public record UpscaleInput(List<ImageTile> ImageTiles, int OutputWidth, int OutputHeight);
5+
internal record UpscaleInput(List<ImageTile> ImageTiles, int OutputWidth, int OutputHeight);
66
}
77

88

OnnxStack.ImageUpscaler/README.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,29 @@
1-
# OnnxStack.ImageUpsacler
1+
# OnnxStack.ImageUpscaler
2+
3+
## Upscale Models
4+
https://huggingface.co/wuminghao/swinir
5+
https://huggingface.co/rocca/swin-ir-onnx
6+
https://huggingface.co/Xenova/swin2SR-classical-sr-x2-64
7+
https://huggingface.co/Xenova/swin2SR-classical-sr-x4-64
8+
9+
10+
# Basic Example
11+
```csharp
12+
// Load Input Image
13+
var inputImage = await OnnxImage.FromFileAsync("Input.png");
14+
15+
// Create Pipeline
16+
var pipeline = ImageUpscalePipeline.CreatePipeline("003_realSR_BSRGAN_DFO_s64w8_SwinIR-M_x4_GAN.onnx", scaleFactor: 4);
17+
18+
// Run pipeline
19+
var result = await pipeline.RunAsync(inputImage);
20+
21+
// Create Image from Tensor result
22+
var image = new OnnxImage(result, ImageNormalizeType.ZeroToOne);
23+
24+
// Save Image File
25+
await image.SaveAsync("Upscaled.png");
26+
27+
// Unload
28+
await pipeline.UnloadAsync();
29+
```

OnnxStack.ImageUpscaler/Registration.cs

Lines changed: 0 additions & 63 deletions
This file was deleted.

OnnxStack.ImageUpscaler/Services/IUpscaleService.cs

Lines changed: 0 additions & 100 deletions
This file was deleted.

0 commit comments

Comments
 (0)