JS9 brings astronomical image display to your browser and desktop:
- display FITS images, tables, data cubes, multi-extension files
- drag and drop FITS files and urls, PNG and JPEG images
- retrieve and display data from astronomical archives
- adjust the colormap and data scaling
- pan, zoom, and blink images
- perform image arithmetic, Gaussian smoothing
- blend images and apply RGB image filters
- configure mouse buttons and movements, touch events
- create and manipulate geometric regions of interest
- extend JS9 using plugins and the public API
- perform data analysis (local and server-side)
- configure and control JS9 via HTML elements in a web page
- control JS9 externally, from a command shell or Python
- print images, save images and sessions, multiple displays, ...
- simplified desktop app for Mac
Drag and drop a FITS astronomical data file onto the display and JS9
functionality immediately becomes available: zoom, pan, colormaps,
scaling, regions, WCS, image filters, smoothing ...
By extending JS9 with the plugin facility and the public API, you
can perform local analysis on the displayed image: click
the Plugins tab, create a region, move it around ...
Images loaded on the server, loaded via proxy (File menu), or uploaded
(Analysis menu) all support server-side analysis. Results are
displayed in your browser: click the Analysis tab, choose a
task, create a region, move it around ...
Want a pristine JS9 display?
Extend JS9 with
Plugins,
using the
JS9 Public API
to perform event-driven, local analysis. Create a region, move it around ...
Region Stats create, click, move, or resize a region to see stats
|
3dPlot create, click, move, or resize a region to see 3d plot
|
X Projection create, click, move, or resize a region to see projection
|
Y Projection create, click, move, or resize a region to see projection
|
Recent Public Releases:
Release 3.8 (06/21/22) Eric's final release
Release 3.7 (05/16/22) Eric's penultimate release
Patch Release 3.6.2 (01/03/22) add experimental support for
converting event tables to 3D cubes
Patch Release 3.6.1 (08/16/21) two bug fixes
Release 3.6 (07/30/21) improvements to regions, including
graphical editing of annuli
Release 3.5 (06/01/21) remove long-deprecated fits2png
support and improve display of png/jpeg files
Release 3.4 (05/05/21) lots of work on regions, including
non-transient groups and boolean selections
Release 3.3 (12/14/20) update three important modules
(emscripten, socket.io, fabric.js), along with a few bug fixes
Release 3.2 (11/06/20) mainly changes to support the
upcoming desktop Voyager app, but also a few bug fixes
For more details, see the ChangeLog.
JS9 is distributed under the terms of The MIT License.
The
JS9 current release tar file is available here:
Simply untar to display FITS images with all basic JS9 functionality.
Install JS9
to add functionality, such as server-side analysis.
To run the demo pages, download the data tar file here:
The latest bug fixes and enhancements are available on GitHub:
Clone JS9 from GitHub once and then pull updates at any time:
git clone https://github.com/ericmandel/js9
git pull
For Mac (Catalina) and Linux (Ubuntu 20.04) users,
pre-built desktop apps are available:
Pre-built apps lack some configurability, but their ease of
installation and use will make most users happy.
In addition, the pyjs9 Python interface is available on GitHub:
It supports
communication
with JS9 using the
public API.
We gratefully acknowledge the technologies that power JS9:
- HTML5 for image display and most everything
- jquery for programming ease (jquery.com)
- emscripten for C-to-JavaScript (emscripten.org)
- fabric.js for 2D graphics (fabricjs.com)
- dynamic drive for light windows (www.dynamicdrive.com)
- flot for plotting (www.flotcharts.org/)
- swis for jquery.contextMenu (swisnl.github.io/)
- arrive.js for MutationObserver (github.com/uzairfarooq/arrive)
- spin.js for spinner support (spin.js.org/)
- Marc J Schmidt for CSS element queries (github.com/marcj/css-element-queries)
- HEASARC for CFITSIO (heasarc.gsfc.nasa.gov/fitsio/)
- IPAC for Montage (montage.ipac.caltech.edu/)
- SAO/TDC for WCS lib (tdc-www.harvard.edu/wcstools/)
- Mark Calabretta for HEALPix (www.atnf.csiro.au/people/mcalabre)
With important suggestions (and sometimes code) from:
- Doug Burke, CfA (research-level testing)
- Brian Cherinka, JHU (multi-extension FITS, data cubes)
- Joseph DePasquale, STScI (image blending techniques)
- Karl Glazebrook, Swinburne (iPad support)
- Kenny Glotfelty, CfA (toolbar and toolbar icons)
- Matias Carrasco Kind, NCSA (Jupyter support)
- Kathy Lestition, CfA (EPO)
- Briehan Lombaard SAAO (telescope control)
- John Roll, Facebook (design philosophy, analysis plugins)
- Maria Henar Sarmiento, ESA (research-level testing)
- Pat Slane, CfA (needs of research vs. education)
- Oleg Smirnov, Rhodes University (Jupyter, large file support)
- The Science Education Department, CfA (EPO)
- Marwan Ali albahar, Umm Alqura University (security issues)
Funded by
Smithsonian Institution,
the Chandra X-ray Science Center (NAS8-03060),
and
NASA's Universe of Learning (STScI-509913).