Address the review on the image strip / hit feed:
- Height constraints: JFJochSimpleChartView used a hard setFixedHeight(300) and,
being a page in the dataset-info stack, forced the whole plot dock (and thus
the window) taller than the screen once the strip was stacked below. Make it a
soft minimum (120). Wrap the settings dock in a QScrollArea so its content can
scroll instead of forcing window height. Smaller strip thumbnails (96) and
lower default bottom-dock heights. The window no longer grows past its
requested size.
- Stochastic selection: representatives are now picked at random within N equal
bins (over image index, or a metric's sorted order), and a Refresh button
re-rolls a fresh set — avoiding deterministic-spacing artefacts. "Most spots"
stays deterministic; "Indexed" becomes spaced-random.
- Live stability: the strip stores dataset updates but only rebuilds on file
open (worker fileOpened) / mode / Spots / Refresh, so HTTP sync image updates
no longer trigger constant thumbnail refetching.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Follow-up to the image strip, addressing the review:
- Composition: stack the plots and the thumbnail strip vertically (plots on top
with more height, strip below) instead of sharing horizontal space — both
benefit from width, and the strip needs less height.
- Processing dock is hidden by default and narrower; it reveals itself only when
a reprocessing job starts (new jobStarted signal), and the Processing
perspective no longer force-shows it.
- Thumbnail spot overlays now use the same feature (indexed) / spot colours as
the main viewer, and follow the side-panel colour pickers.
- New strip selection modes "Resolution" and "Background": pick images that span
that metric's distribution (a quick histogram-representative selection).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A dockable strip of thumbnails for a handful of representative images, with
spots overlaid so a real pattern reads like a constellation; click opens that
image.
- JFJochViewerImageStrip: mode selector (evenly spaced / most spots / indexed,
computed from the dataset's per-image metrics) + a Spots toggle; a scrollable
row of thumbnail buttons; click emits imageSelected.
- The reading worker renders thumbnails off-thread and non-disruptively: load
each image via its reader, downsample by block-maximum (keeps Bragg spots),
map through the colour-scale LUT, optionally paint spots (coral indexed /
teal not), and emit thumbnailReady(image_number, QImage). File mode only.
- Docked in the bottom area, shown in the Processing perspective; the colour map
follows the display toolbar.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>