astre.fitsA read-only FITS image, cube, table and spectrum viewer for VS Code desktop and desktop remote workspaces. Chinese guide. Version 0.2.0 replaces the original parsing and rendering paths with bounded random access, document-owned workers, explicit numeric types and one rendering/input owner per webview. Opening a FITS file selects the first usable HDU. All HDUs, including empty and unsupported ones, remain available in the HDU selector and Header panel. Version 0.2.1 adds a collapsible inspector, interactive black/midtones/white histogram handles, automatic MTF, percentile/window presets, two-axis display adjustment and transaction-based undo/redo. Scientific source values and the FITS file remain unchanged. See 0.2.1 design and acceptance guide. Version 0.2.2 brings concise English throughout the interface, common stretch controls above the fold, a resizable inspector, live adjustment values and context-specific toolbars. See layout and verification. Version 0.2.3 starts new views with Low = Min, High = Max and Percentile = 100. Both cutoffs offer 25 percentile choices plus custom P-value entry. The main histogram supports independent X/Y zoom, horizontal pan and reset. Release verification. Features
Installation and useInstall the supplied Choose Auto MTF or a percentile preset to start. Drag the B/M/W histogram handles for black point, midtones and white point; moving M selects MTF. Numeric entries and quantile presets remain available. Log Y changes count visibility; Focus shows the input histogram within the current cuts. The optional output histogram uses normalized brightness before palette/inversion. Low/High P inputs accept a number, Use the histogram's X/Y minus/plus buttons, scroll to zoom X, or Shift-scroll to zoom Y counts. Drag to pan X. With the histogram focused, Left/Right pans, Up/Down changes Y, and Home resets both axes; double-click or Reset also resets. The transfer curve keeps its normalized brightness scale. Zoomed physical coordinates stay fixed when display cuts change. Chart navigation does not alter image pixels or undo history and resets when loading another slice. Horizontal navigation reuses the worker's distribution and returns chart data only; vertical navigation redraws locally. Right-drag or Shift-left-drag on the image changes bias horizontally and contrast vertically; hold Alt for finer control. The adjustment tool enables the same operation with an ordinary left drag. Undo/redo buttons or Ctrl+Z / Ctrl+Shift+Z (Cmd on macOS) restore a complete gesture. Text inputs keep their native editing shortcuts. History is isolated by HDU/slice, capped at 50 steps per context and not persisted across editor disposal. Display settings and inspector/histogram preferences are persisted. Narrow windows use a toggleable overlay inspector. Drag the inspector divider to resize it. Focus the divider for arrow-key adjustment; Shift uses larger steps, Home/End choose the bounds, and Enter or double-click resets the width. Undo stays visible while the inspector scrolls. Range settings, appearance, parameters/slices and pixel tools expand on demand. Deliberate limitsThis is a viewer, not a universal FITS reduction package. Tiled-compressed images, random groups and unknown extension layouts expose their headers and an unsupported diagnostic. Gzip containers, nonlinear spectral WCS, nonstandard celestial poles and additional distortion conventions are not decoded. Web-only VS Code is unsupported because the data engine uses Node workers. Each image preview/tile is limited to 1,048,576 pixels. Large overview images use nearest subsampling; periodic structures can alias visually until zoomed to a step-1 tile. Automatic windows use an independent stratified sample (up to 1,024 source pixels for large regions); sampled ranges are not guaranteed global extrema. Full-resolution hover always reads the requested source pixel. Int64 display uses a relative exact integer offset; numbers more than 2^53 apart can exceed display precision. Raw values remain available. Tables use 25–200 rows per page and an 8 MiB text budget. Global sort/filter and scalar spectra are limited to 1,000,000 rows, sort keys to 32 MiB, vectors to 1,048,576 elements and 1D images to 1,000,000 points. Vector/complex sorting is intentionally disabled. CSV exports the current table page or the selected spectrum, not an implicit whole table. PNG exports the visible canvas, including overlays. Non-file URI providers use Development and verificationUse Node.js 22+ for development, then Additional checks:
The browser test uses installed Chrome; set GPL-3.0-only. The Viridis lookup data is attributed in |