Merge pull request 'docs: Desktop Stacker — free app, optional account, slide credit; five engines' (#1133) from docs/stacker-free-copy into main
Reviewed-on: #1133
This commit was merged in pull request #1133.
This commit is contained in:
commit
c8fd98eff9
1 file changed
+7
-5
@@ -80,8 +80,8 @@ A multi-project .NET 10 solution providing:
|
|||||||
│ │ │ │ Compose) │ │ │ │
|
│ │ │ │ Compose) │ │ │ │
|
||||||
│ └────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘ │
|
│ └────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘ │
|
||||||
│ ┌──────────────────┐ ┌──────────────────┐ │
|
│ ┌──────────────────┐ ┌──────────────────┐ │
|
||||||
│ │ Time & Materials│ │ Desktop Stacker │ (Stacker is fully offline — │
|
│ │ Time & Materials│ │ Desktop Stacker │ (Stacker: offline pipeline, │
|
||||||
│ │ Android app │ │ (Rust, offline) │ no backend connection) │
|
│ │ Android app │ │ (Rust, offline) │ publish needs sign-in) │
|
||||||
│ └────────┬─────────┘ └──────────────────┘ │
|
│ └────────┬─────────┘ └──────────────────┘ │
|
||||||
└───────────┼─────────────────────┼─────────────────────┼─────────────────────┘
|
└───────────┼─────────────────────┼─────────────────────┼─────────────────────┘
|
||||||
│ HTTPS/WSS │ HTTPS + WSS │ WSS (GameServer)
|
│ HTTPS/WSS │ HTTPS + WSS │ WSS (GameServer)
|
||||||
@@ -930,7 +930,7 @@ Note: this repo currently has **no CI** — in-engine test scripts only (`tests/
|
|||||||
|
|
||||||
## Desktop Stacker (spikersoft-stacker)
|
## Desktop Stacker (spikersoft-stacker)
|
||||||
|
|
||||||
A **local, fully offline** focus-stacking application (Zerene/Helicon class) for macro photography — one self-contained executable per OS (macOS / Windows / Linux). It ports the platform's PhotoStack pipeline (artpipe `align.py` + `fusion.py`) to a fast desktop workflow; algorithm parity with the Python implementation is verified by a test harness in the repo.
|
A **local, offline-first** focus-stacking application (Zerene/Helicon class) for macro photography — one self-contained executable per OS (macOS / Windows / Linux). It ports the platform's PhotoStack pipeline (artpipe `align.py` + `fusion.py`) to a fast desktop workflow; algorithm parity with the Python implementation is verified by a test harness in the repo.
|
||||||
|
|
||||||
### Workflow stages
|
### Workflow stages
|
||||||
|
|
||||||
@@ -938,7 +938,7 @@ A **local, fully offline** focus-stacking application (Zerene/Helicon class) for
|
|||||||
1. **Import** — `.ORF` and other RAW/TIFF/JPEG; instant previews from embedded JPEGs; Olympus `FocusStepCount` ordering and duplicate curation.
|
1. **Import** — `.ORF` and other RAW/TIFF/JPEG; instant previews from embedded JPEGs; Olympus `FocusStepCount` ordering and duplicate curation.
|
||||||
2. **Align** — phase-correlation seeding + chained pyramidal ECC-style affine refinement against a reference frame.
|
2. **Align** — phase-correlation seeding + chained pyramidal ECC-style affine refinement against a reference frame.
|
||||||
3. **Mass crop** — auto intersection rect of all aligned frames, adjustable on the master; "Crop" bakes warp+crop into every frame so no border replication reaches fusion.
|
3. **Mass crop** — auto intersection rect of all aligned frames, adjustable on the master; "Crop" bakes warp+crop into every frame so no border replication reaches fusion.
|
||||||
4. **Stack** — selectable fusion engines: **Laplacian pyramid** and **depth map**.
|
4. **Stack** — five fusion engines: **Laplacian pyramid**, **depth map**, **complex wavelet**, **Spiker**, and the content-aware **Patch** engine, validated against a ground-truth harness.
|
||||||
5. **Touch up** — dual synced previews (source frame | fused result); a soft brush copies source pixels into the result at full 16-bit resolution, with stroke-replay undo.
|
5. **Touch up** — dual synced previews (source frame | fused result); a soft brush copies source pixels into the result at full 16-bit resolution, with stroke-replay undo.
|
||||||
6. **Export** — 16-bit TIFF / JPEG + a JSON `.sstack` project sidecar.
|
6. **Export** — 16-bit TIFF / JPEG + a JSON `.sstack` project sidecar.
|
||||||
|
|
||||||
@@ -946,7 +946,9 @@ A **local, fully offline** focus-stacking application (Zerene/Helicon class) for
|
|||||||
|
|
||||||
A Rust workspace of four crates: `stacker-core` (the pipeline — no UI deps; `rawler` RAW decode, `rustfft`, `rayon`, `memmap2`), `stacker-gpu` (**wgpu** compute kernels from one WGSL codebase targeting Metal/Vulkan/DX12, with a CPU fallback for every kernel), `stacker-camera` (Olympus Wi-Fi CGI protocol + UDP live view + optional BLE wake, plus a mock camera for tests), and `stacker-app` (egui/eframe desktop UI).
|
A Rust workspace of four crates: `stacker-core` (the pipeline — no UI deps; `rawler` RAW decode, `rustfft`, `rayon`, `memmap2`), `stacker-gpu` (**wgpu** compute kernels from one WGSL codebase targeting Metal/Vulkan/DX12, with a CPU fallback for every kernel), `stacker-camera` (Olympus Wi-Fi CGI protocol + UDP live view + optional BLE wake, plus a mock camera for tests), and `stacker-app` (egui/eframe desktop UI).
|
||||||
|
|
||||||
**Platform integration: none, by design.** There is no S3 client, no Keycloak, no `api.spikersoft.com` anywhere in the workspace — it shares *algorithms* with the platform's [Photo Stack](#art-studio) lane, not services. Output stays local.
|
**Free app, optional account.** Stacker is free — nothing to buy, no registration key, and every stage above works offline without an account. **Account → Sign in with spikersoft.com** (the website's Keycloak SSO session, via a loopback PKCE flow) links the app to a spikersoft.com account, which unlocks **Publish to spikersoft.com** (source frames + finished stack with provenance and Darwin Core identification into the user's gallery, optional blog post, optional public share page at `/p/{token}`) and removes the small `spikersoft.com/stacker` credit that unlinked copies add to exported **share-set slides**. That credit points at the free app page, never at donations, and the finished TIFF / JPEG export never carries it. The public [`/stacker`](https://spikersoft.com/stacker) page lists per-platform installers proxied by `api.spikersoft.com` from the repo's rolling Gitea Release (`latest`).
|
||||||
|
|
||||||
|
Beyond publishing, the app shares *algorithms* with the platform's [Photo Stack](#art-studio) lane, not services: no S3 client, and every pipeline stage runs locally.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user