Releases: jvo203/FITSWEBQLSE
Releases · jvo203/FITSWEBQLSE
performance improvements
- improved the signal-to-noise ratio in Subaru HDS 2D FITS real-time spectra (Y-axis) by summing over the peak width (estimated with genetic algorithms)
- speeded-up the Subaru HDS 2D real-time X-Y spectra calculation by using the Intel ISPC SPMD C compiler
improved Subaru HDS peak fitting
- Subaru HDS 1D spectra user-provided redshift: added support for inputting the source velocity [km/s]
- improved real-time peak tracking (fitting the width, location and rotation) in Subaru HDS 2D FITS spectra by using genetic algorithms (Differential Evolution), resulting in a better support for wide peaks (i.e. the Moon)
- lowered the display limit to 100 for the Subaru HDS spectral lines
- ensured API compatibility with the x265 C library version 4
improved Subaru HDS support
- automatic peak detection & tracking in Subaru HDS 2D FITS spectra
HDS support
- initial support for Subaru HDS 1D and 2D FITS spectra (including an integrated Atomic Spectra Database from NIST with an optional redshift support)
- switched on full multi-threading in the server-side libmicrohttpd
- restored input field 'type=number' spin buttons in Chrome
- recompiled the client-side WebAssembly with the latest emscripten compiler
a 40% size reduction in WASM binary size
- completed the removal of the mongoose networking library from the server-side C code
- replaced the WCSLIB by WCSTools in the client-side WebAssembly, reducing the WASM binary size from 1.1MB to 676KB
minor improvements
- interleaving a video frame preparation in FORTRAN with x265 encoding and WebSocket transmission in C
- interleaving a P-V Diagram preparation in FORTRAN with ZFP compression and WebSocket transmission in C
- recompiled the client-side WebAssembly with the latest emscripten compiler
improved server-side efficiency
- added handling of /cluster_heartbeat/id to the libmicrohttpd HTTP server part
- server-side optimisations: removed the Unix pipe and the accompanying request/response POSIX threads from three WebSocket event loop functions: <ws_event_loop>, <video_event_loop> and <pv_event_loop>
- upgraded the libx265 library version
compressed size reduction
- reduced the compressed size of the WebGL GSLS archive from 26kB to 20kB by replacing the LZ4HC compressor with BZIP2
optimisations
- reduced the long-poll interval for the image/spectrum from 500ms to 250ms
- coalesced the WebGL GLSL shaders into a single LZ4-compressed file (164kB down to 26kB), significantly cutting the number of HTTP requests to the CDN
WebGL GLSL off-load to CDN
- asynchronous (non-blocking) fetching of WebGL GLSL shaders from the Content Delivery Network (CDN) in the client-side JavaScript
- further reduced the compressed size of the initial web page response down to 1.73kB by off-loading the GLSL shaders to the CDN