No description
Find a file
2025-11-19 14:56:46 +00:00
.idea/.idea.stitchaton/.idea initial commit 2025-07-27 16:02:56 +07:00
src add benchmark README.md 2025-07-31 01:55:24 +07:00
vendor/NetVips hacks: make internal visible to this contest project 2025-07-31 00:24:35 +07:00
.editorconfig initial commit 2025-07-27 16:02:56 +07:00
.gitignore add scoring infra 2025-11-19 14:56:46 +00:00
mise.toml add scoring infra 2025-11-19 14:56:46 +00:00
README.md update README.md 2025-07-31 01:59:13 +07:00
stitchaton.sln add benchmark project 2025-07-31 00:36:37 +07:00
stitchaton.sln.DotSettings add benchmark project 2025-07-31 00:36:37 +07:00

Oh-My-Stitcher

How to build

  1. Clone this repo (obviously)
  2. Enter repo (solution) directory
  3. dotnet build

How to run

0. This project uses ASP.Net AoT, please don't forget to install zlib1g-dev.

1. Publish it

  • Enter src/Oh.My.Stitcher
  • dotnet publish -c Release -r linux-arm64

2. Run it

  • Enter src/Oh.My.Stitcher/bin/Release/net8.0/linux-arm64/publish
  • ASPNETCORE_URLS="http://+:5000" ASSET_PATH_RO="/path/to/tiles" ./Oh.My.Stitcher
  • Go to http://ip-address:5000/

Caching

For better performance, this stitcher use caching mechanism. The full image size would be GigaBytes!!!, so the cache is limited, max size that can be cached: 720 x 720 x 128 (approximately 70MB). It uses OS temporary directory (Path.GetTempPath or /tmp), please make sure it's writable.

No, this doesn't break the rule, the cache is created and used AFTER the first API request.

Use cases:

  • consecutive request with the same rect and scale (e.g. "A1:AE55" then "AE1:A55")