Releases: jvo203/fits_web_ql
Tomo-e Gozen
A preliminary support for Tomo-e Gozen optical FITS files:
-
upon detecting the Kiso Observatory via the "TELESCOP" keyword in the FITS header, switch to the optical mode using the "ratio" image tone mapping function & automatic brightness adjustment
-
the "ratio" tone-mapping is most suitable for viewing both faint and bright objects present in the same image
maintenance
-
fixes the "panicked at 'attempted to zero-initialize type
vpx_codec_enc_cfg
." errors -
improves handling of FITS files opened via an external URL
-
enhances compatibility with the latest Rust 1.52 (fixes compilation warnings)
maintenance
- updated various Rust crates dependencies
- tweaked the spectrum colours in both dark and bright UI modes
- fixed the tileTimeout() JavaScript function (only relevant when viewing multiple datasets at the same time in a non-composite mode)
initial JavaScript loading time speed-ups
- switched to using automatically minified JavaScript files via the worldwide jsDelivr Content Delivery Network (CDN)
ffmpeg WebAssembly refresh
- ffmpeg-4.1.5 HEVC decoder has been recompiled with the latest Emscripten
spectrum compression
- back-ported from v5 real-time spectrum compression using FPZIP (https://github.com/LLNL/fpzip)
- the server-side compression takes place after the spectrum downsampling, prior to sending the compressed spectra over WebSockets to the client web browser
- client-side decompression in JavaScript has been accelerated with WebAssembly
- a typical size of binary WebSocket messages containing compressed spectra is between 500 and 1000 bytes, which ensures most messages will fit within one Raw Ethernet frame
speed improvements
- Back-ported from the new C/C++ v5 to Rust down-sampling of the spectrum when the number of cube channels exceeds the width of the browser window. Previously this downsizing step had been handled client-side in a web browser. The new version moves down-sampling server-side prior to sending the down-sampled spectrum over the network to the end users, which in many cases will result in a reduction in the bandwidth usage (smoother real-time spectrum updates over slow/unreliable network connections), plus a lesser CPU demand due to omitting the downsizing step client-side in JavaScript.
- Fixes a compilation warning when using Rust ≥ 1.44 (unused braces).
maintenance
- update dependencies
- works with the latest Intel ispc v1.13
actix-web upgrade
A general upgrade of all dependencies. In particular
- [server] upgraded the networking library to the current stable actix-web 2.0 from the previous v1.0
- [server] updated the asynchronous code to tokio-0.2 and futures-0.3.4
- [client] revised the calculation of the default font size to better suit widescreen monitors
a bug fix
Works around a bug in either Rust or Rust bzip2 bindings whereby an unused but initialised bzip2 streaming decompressor could not be dropped in a clean manner. As a result a return from a Rust function would hang indefinitely. A workaround uses Option<Rc<RefCell<bzip2::write::BzDecoder<Vec<u8>>>>>
etc.
The problem affected the JVO server version of FITSWebQL.