Overview
Features
Glossary
PALÉOPHONOGRAMME
LuciDStrata
a tool for reading the visible strata of the world differently
inspired by DStretch · Jon Harman · dstretch.com

LuciDStrata

Paléophonogramme — a tool for reading the visible strata of the world differently

LuciDStrata reveals hidden chromatic information in rock art photographs, 3D scan textures, and any image where subtle colour differences encode meaning invisible to the naked eye.

Based on Decorrelation Stretch — developed at NASA/JPL for multispectral satellite imagery, adapted by Jon Harman for archaeological rock art research. This implementation adds a live sequencer, audio reactivity, and batch video export.

Quick start

  • Drop an image onto the canvas or click ⊕ image
  • Press Space or click Decorrelate to start
  • Adjust BPM and beats/cy to control cycle speed
  • Open Sequencer to add sequences with different presets and speeds

Navigation

  • scroll zoom · drag pan · right-drag zoom vertical · dbl-click reset · Space play/pause

Algorithm

Decorrelation Stretch applies a Karhunen-Loève Transform to the colour space of an image — diagonalising the covariance matrix of pixel colours, equalising variance in each channel, then applying the inverse rotation. The result is a false-colour image where subtle hue differences are dramatically amplified. The transformation is statistically derived from each image's own colour distribution.

Controls

  • Preset — colour space: YDS general/yellows CRGB reds (fixed) YBK blacks/blues LDS general/low-noise LRE reds/soft YYE yellows YBR reds/vivid RGB NASA original
  • Scale — stretch intensity σ (default 15, NASA original 50)
  • Hue turns — LFO rotations per cycle. 0.5 = half-turn, 2 = two full rotations
  • Hue mode — LFO shape: ping-pong sine rnd random
  • Matrixcorr equal channel weight (default) vs cov variance-weighted

Sequencer

  • Each row = independent sequence with preset, speed, LFO shape, and repeat count
  • speed — first parameter in detail: freeze (∞) to 0.1× to 5× the global tempo
  • repeat ×N — how many cycles before advancing to next sequence
  • solo — loop this sequence indefinitely
  • T matrix computed once per sequence activation, only hue animates per frame → smooth 60fps

Audio reactivity

  • Click 🎙 audio → grant microphone permission
  • Two stereo meters show L/R levels with peak hold
  • gain — master sensitivity of all audio mappings
  • Amplitude → scale · Bass → hue · Highs → sat · Transient → action

Batch export

  • 📂 PNG/JPG — folder of numbered frames · 🎬 MP4 — extract frames from video
  • Output: ZIP of PNGs → convert with ffmpeg -r 24 -i file_%05d.png out.mp4

Glossary

Decorrelation Stretch
Statistical image transformation removing inter-channel colour correlation. Developed NASA/JPL (Alley, 1996), adapted for rock art by Jon Harman (DStretch).
KLT / Karhunen-Loève Transform
Rotates the coordinate system to align with principal axes of variance. Equivalent to PCA applied to 3D colour space.
Covariance Matrix
3×3 matrix encoding how the three colour channels co-vary. Its eigenvectors define the principal colour directions in the image.
Scale (σ_target)
Target standard deviation for output pixels. Each channel is stretched by scale / √λ. NASA default: 50. LuciDStrata default: 15.
T Matrix
Final 3×3 transformation: T = Vᵀ · S · V. Applied once per pixel (Pass 1). Cached per sequence — never recomputed during animation.
Two-Pass Render
Pass 1 (heavy, once on activation): applies T, stores buffer. Pass 2 (light, every frame ~8ms on 2MP): copies buffer, applies hue+sat. Enables smooth 60fps.
LFO
Low Frequency Oscillator — periodic function driving hue rotation over time. Shape (sine/sawtooth/triangle/random) and speed (turns per cycle) define the visual rhythm.
Cycle
One complete LFO period. Duration = (beats per cycle / BPM) × 60s. Each sequence plays N cycles before advancing.
False Colour
Colours that encode data rather than physical reality — amplified chromatic differences revealing information invisible to human vision.
Transient (audio)
Sudden rise in amplitude — percussive hit, attack. Detected by frame-to-frame level delta. Can trigger sequence changes or cycle resets.
FFT
Fast Fourier Transform — decomposes audio waveform into frequency bands. Used to extract bass/treble energy for parameter modulation.
1 / 3
click outside or Esc to close
LuciDStrataPaléophonogramme · a tool for reading the visible strata of the world differently
BPM120
beats/cy4
2.00s/cy
⊕ image
scroll=zoom · drag=pan · right-drag=zoom · dbl=reset