ArrayScope Scientific Image ViewerArrayScope is a read-only VS Code custom editor for scientific NPY and TIFF images. It runs entirely in TypeScript, JavaScript, and WebGL—no Python, Conda, Jupyter kernel, or project runtime is started.
Features
UseOpen a The viewer never writes to the source. A selection scopes histogram, auto contrast, and the next explicit statistics calculation. Without a selection, all three operations use the entire current slice. The initial dynamic range uses the finite minimum and maximum; Auto Contrast applies the active scope's 1st and 99th percentiles, and Reset restores its finite minimum and maximum. Changing slices preserves selection geometry and clears the current sample marker. Complex images always show synchronized Magnitude and Phase panels. The Analysis transform selector controls which representation is used by the histogram, auto contrast, and statistics. Keyboard shortcutsThese shortcuts are active while an ArrayScope editor is active. They are disabled when a text input or terminal has focus, so they do not interfere with typing elsewhere in VS Code.
Remote workspacesArrayScope supports Remote SSH, WSL, and dev containers:
Files larger than 256 MiB on non-file VS Code file systems require a provider that supports range reads. Settings
The local cache limit applies to each open viewer. The remote cache limit applies to each open file.
Histograms are calculated automatically only when the active scope—the current slice or selection—contains at most Supported data and limitationsNPY arrays are scalar scientific data; dimensions of size 3 or 4 are not inferred as RGB/RGBA. Scalars show their value, 1D arrays and arrays above 3D show an explicit dimensionality message, and TIFF support is limited to grayscale images. Pages must match the first page's dimensions and sample type to participate in a stack. Available compression formats depend on the bundled TIFF decoder. DevelopmentRequirements: Node.js 20 or newer and npm.
Press
Numerical definitionsStatistics use population variance and standard deviation. Ordinary kurtosis is reported (a normal distribution has kurtosis 3). NaN, positive infinity, and negative infinity are excluded from finite statistics and reported separately. Median and histogram results are marked approximate when sampling is used. Security and failure behaviorArrayScope validates NPY files before reading their data and detects source-file changes while an editor is open. Decoder and parsing errors appear in the custom editor with expandable technical details. |