Plots:
- A "+ Plot" button on the dataset-info panel spawns another plot dock, placed
beside the previous one (horizontal split) so several metrics can be watched
side by side. Same path as the Charts menu, now one click away.
Image strip:
- The image number is painted into the thumbnail bitmap (coral badge, top-left)
instead of a text label under the icon, so no height is lost to it.
- Thumbnails are icon-only and scale to the available dock height (resizeEvent),
so the strip never needs more room than it has; lowered its minimum.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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>