The display mapping always had a black point; it was just pinned to
zero with no way to move it. It gets the second slider in the display
toolbar (0 = off, as before; both sliders are width-capped so the strip
stays tight), a logarithmic scale that starts at a true zero, and the
wheel with B held, mirroring F for the foreground. The white point now
floors at the black point plus one.
F, B, A and Home/End/PageUp/PageDown used to reach their targets only
with the image focused, because they lived in keyPressEvent. They move
into an application-wide event filter that steps aside when the focused
widget genuinely uses the key: text entry gets everything, the file
tree keeps its navigation keys, and open menus are untouched.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vRwzF8PLaaa2novAKYorq
This is an UNSTABLE release. This version significantly rewrites code to predict reflection position and integrate them,
especially in case of rotation crystallography. If things go wrong with analysis, it is better to revert to 1.0.0-rc.123.
* jfjoch_broker: Improve refection position prediction and Bragg integration code.
* jfjoch_broker: Align with XDS way of calculating Lorentz correction and general notation.
* jfjoch_writer: Fix saving mosaicity properly in HDF5 file.
* jfjoch_viewer: Introduce high-dynamic range mode for images
* jfjoch_viewer: Ctrl+mouse wheel has exponential change in foreground (+/-15%)
* jfjoch_viewer: Zoom-in numbers have better readability
Reviewed-on: #31
Co-authored-by: Filip Leonarski <filip.leonarski@psi.ch>
Co-committed-by: Filip Leonarski <filip.leonarski@psi.ch>