Dev/read 16bit ir#1690
Draft
romleiaj wants to merge 11 commits into
Draft
Conversation
added 11 commits
June 3, 2026 18:17
Each camera now maintains independent enhancement values. Viewer.vue loads enhancements from each camera's sub-meta instead of root meta, saves to the correct camera-scoped path via a per-camera debounce map, and flushes pending saves before switching cameras.
…n per-camera enhancements
Float32/Float64 TIFFs now use sort-based percentile instead of the integer histogram, which collapsed sub-integer values to a single bin and produced solid-color output silently. Uint8/Uint16 bin counts are now type-matched (256 vs 65536). Zero-range frames (flat field, dead sensor) now render as mid-gray; the previous check tested only raw[0] against min, so every uniform frame filled with black. Cache keys now include mtimeMs so entries are invalidated when a source file is replaced at the same path, matching the tile cache pattern. fs.statSync replaced with await fs.stat to avoid blocking the event loop on a per-frame hot path. The two try-catch blocks collapsed into one with ENOENT distinguished for a 404. Array.isArray guards added for low and high query params; duplicate params previously passed validation and silently discarded extra values. A low >= high check catches inverted percentile inputs at the boundary. encodePngRgba deduplicated — exported from displayProcessing.ts and imported by geotiffTiles.ts, removing the unused pngjs import.
…lay URL remapping in Viewer
…bounce, stale isDefaultImage, TIFF lazy load, and in-flight decode dedup
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal is to read and display 16-bit IR thermal imagery with the option for a linear stretch - squashing naively results in a gray image.
#1590