FEATURES
CARTA key features
CARTA adopts a client-server
architecture which is suitable for visualizing images with large file
sizes (GB to TB) easily obtained from ALMA, VLA, or SKA pathfinder
observations. It is impractical to process such a huge file
with a personal computer or laptop. In a client-server architecture,
computation and data storage are handled by remote enterprise-class servers
or clusters with high performance storage, while processed products are
sent to clients only for visualization with modern web features, such
as GPU-accelerated rendering. This architecture also enables users to
interact with the ALMA and VLA science archives by using CARTA as an interface.
CARTA has two flavors: Desktop version and Server version. The former is suitable
for single-user usage with a laptop, a desktop, or a remote server in the "remote"
execution mode.
The later is suitable for institution-wide deployment to support multiple users with
user authentication and addtional server-side features.
Memory-efficient when loading images
With ~1 GB of ram, a 16000 pixel x 16000 pixel image or a 16000 pixel x 16000 pixel x 1000 channel cube (~1 TB in size) can be loaded in seconds.
Parallelization and GPU-accelerated rendering
Parallelization with CPUs is invoked in data processing. GPU-accelerated rendering is adopted for tiled raster images, contour images, and catalog overlays.
Spectral line cube analysis tools
Flexible multi-profile plotting capability is supported. Analysis tools such as profile fitting, profile smoothing, moment map generator, and spectral line query and labelling are out of box.
Customizable and reusable GUI layouts and preferences
CARTA is equipped with a highly customizable and reusable graphical user interface for various use cases.
Efficient catalog processing and rendering
Catalogs with millions of sources can be loaded and rendered in seconds. Catalog files are processed with parallelization techniques and are rendered with GPU acceleration.
Efficient visualization with HDF5 (IDIA schema) images
The HDF5 format with the IDIA schema improves the user's experience of viewing large image cubes significantly.
ROADMAP
Release plan
Current release
The current release is v3.0, released on 23rd of August 2022, with the following features:
- Package support for x86_64 and aarch64 architectures
- Vector overlay rendering
- Loading images with the Lattice Expression Language (LEL)
- Loading CASA images with pixel values as complex numbers
- Initial implementation of image 2D Gaussian fitting
- Generating computed polarization quantities (eg. linear polarization intensity) of a Stokes cube on the fly
- Setting a new rest frequency when saving a subimage
- Logging moment map generation information in header history
- Line and polyline region spectral profiler
- Initial implementation of PV image generator
- Image file list filter
- High-resolution PNG export
- Enhanced spectral matching mode
- Custom rest frequency for velocity conversion
- Performance boost when loading a region file with massive amount of regions
- Telemetry
- Online catalog query from SIMBAD and VizieR
- Region export and import enhancement
- Initial implementation of intensity unit conversion
- Multiple panel view
- Pixel grid border rendering at high zoom levels
- Interactive raster rendering with a cutoff via the interactive colorbar
- Distance measuring tool
- Spatial profiler widget enhancement
- Histogram and statistics widget enhancement
- Cursor info widget
- Code snippets (experimental feature)
- Support gzipped FITS images (fits.gz and fz)
- HDF5 mip map support
- Remember last used directory
- Performance enhancement and bug fixes
Next release
The next release will be v4.0 (~early August 2023) with the planned main new features:
- Save and restore state
- Share state
- Enhanced PV image generator
- Interactive PV image preview
- Visualization of rotated cubes
- Enhanced 2D image fitting
- Enhanced histogram widget
- Image annotation
- Python scripting interface (initial)
Future release
This is a non-exclusive list of features we would like to add in subsequent releases, but they are not 100% decided upon yet and depend on feedback from users, resourcing etc.:
- Collaborative tools
- Volume (pseudo 3D) rendering
- Profile, histogram, and image fitting tools
- Image source finder
- VO service (image and catalog)
- Smart layout
- New moment image generator
- RGB image blender
- Spatial profile fitting
- Channel-map view
- Python scripting interface
- JavaScript scripting interface
INSTALLATION
Obtaining CARTA
v3.0
Supported operating systems:
- Ubuntu Linux: 18.04 LTS (Bionic Beaver), 20.04 LTS (Focal Fossa), and 22.04 LTS (Jammy Jellyfish) for amd64 and aarch64 architectures.
- Red Hat Enterprise Linux: 7 and 8 for x86_64 and aarch64 architectures.
- macOS: 10.15 (Catalina), 11 (Big Sur), and 12 (Monterey) for Intel and Apple Silicon architectures.
To deploy CARTA at your institution as a web-based application for multiple users, please refer to the CARTA controller documentation.
To start CARTA, please refer to the user manual How to Run CARTA.
Ubuntu 18.04, 20.04, and 22.04 packages are available from our PPA.
sudo add-apt-repository ppa:cartavis-team/carta
sudo apt-get update
sudo apt install carta
To start CARTA, please refer to the user manual How to Run CARTA.
The 'carta-beta' package is updated with intermediate preview releases as well as official releases. Users may install this package instead if they wish to receive these updates, and users who already have 'carta-beta' installed may update their existing package now to obtain this release:
sudo apt-get update
sudo apt install carta-beta
For Red Hat Enterprise Linux 7 and CentOS7 users, you first need to add the 'cartavis' and EPEL repositories. Please note that root access is required, unless you install in a Docker container.
sudo curl https://packages.cartavis.org/cartavis.repo --output /etc/yum.repos.d/cartavis.repo
sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install carta
To start CARTA, please refer to the user manual How to Run CARTA.
For Red Hat Enterprise Linux 8 and AlmaLinux 8 users, you first need to add the 'cartavis' and EPEL repositories. Please note that root access is required, unless you install in a Docker container.
sudo curl https://packages.cartavis.org/cartavis.repo --output /etc/yum.repos.d/cartavis.repo
sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo yum -y install carta
To start CARTA, please refer to the user manual How to Run CARTA.
We officially support macOS 11 Big Sur and macOS 12 Monterey through Homebrew.
If you do not already have it, you may install Homebrew using the
following command (root access is required):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Now CARTA can be installed with:
brew install cartavis/tap/carta
To start CARTA, please refer to the user manual How to Run CARTA.
The traditional macOS Electron Desktop version can be downloaded by clicking the appropriate download button below. In addition to the standard Intel version for Intel based Macs, we now supply a native Apple Silicon version for M1 based Macs.
Installation:
Click the download button below. After downloading, open the DMG
installer and drag the CARTA icon to the Applications folder.
Operation:
Click the CARTA icon in the Launchpad.
Alternatively, you may create an alias for starting CARTA in your
terminal.
Here is an example:
Open your ~/.zshrc file (or ~/.bashrc if you use bash) in
a text editor and add the following line:
alias carta='/Applications/CARTA.app/Contents/MacOS/CARTA'
Then enter source ~/.zshrc
(or
source ~/.bashrc
) in the terminal.
Now you will be able to start CARTA by simply typing carta
in the terminal.
DOWNLOAD - Intel Mac
DOWNLOAD - M1 Mac
The CARTA Linux AppImage does not require root access. You simply download, extract, and run it. It uses your default web browser to display the CARTA graphical interface. The CARTA AppImage can now run universally between Ubuntu and RedHat platforms, but we have separate versions for x86_64 and aarch64 architectures.
Installation:
Either click the Download button below or run:
wget https://github.com/CARTAvis/carta/releases/latest/download/carta.AppImage.$(arch).tgz
Extract the tarball:
tar -xzf carta.AppImage.$(arch).tgz
Operation:
To start CARTA, please refer to the user manual How to Run CARTA.
Note: If you wish to run the AppImage inside a Docker container, or you
system has trouble with FUSE, please prefix with the following
environment variable:
APPIMAGE_EXTRACT_AND_RUN=1 ./carta-v3.0-x86_64.AppImage
DOWNLOAD - x86_64
DOWNLOAD - aarch64
CARTA is available in the form of a Docker container from Docker Hub. This version could be useful to run CARTA on unsupported platforms such as macOS 10.14.
With Docker installed and running on your system, simply enter the following command in your terminal:docker run -ti -p 3002:3002 -v $PWD:/images cartavis/carta:latest
It will download the latest version of CARTA from Docker Hub and run it using your current directory (
$PWD
) in the CARTA file-browser. A unique URL will be
displayed in the terminal.
Copy & Paste the unique URL into your local web browser in order to access the CARTA
frontend interface.
Please refer to the user manual for more information How to Run CARTA.
Known critical bug: frontend, backend, controller
Known bug: frontend, backend, controller
For more information, please refer to the user manual.
In case of any issues encountered during the installation, please contact the CARTA helpdesk.
To obtain previous release versions, please refer to https://github.com/CARTAvis/carta/releases.
v4.0-beta.1
Supported operating systems:
- Ubuntu Linux: 20.04 LTS (Focal Fossa) and 22.04 LTS (Jammy Jellyfish) for amd64 and aarch64 architectures
- Red Hat Enterprise Linux: 7 and 8 for x86_64 and aarch64 architectures
- macOS: 11 (Big Sur), 12 (Monterey), and 13 (Ventura) for Intel and Apple Silicon architectures
To deploy CARTA at your institution as a web-based application for multiple users, please refer to the CARTA controller documentation.
To start CARTA, please refer to the user manual How to Run CARTA.
Ubuntu 20.04 and 22.04 packages are available from our PPA.
sudo add-apt-repository ppa:cartavis-team/carta
sudo apt-get update
sudo apt install carta-beta
To start CARTA, please refer to the user manual How to Run CARTA.
We now host the CARTA RPMs on the Fedora Copr service. If you have previously
used our old "packages.cartavis.org" RPM repository,
we recommend uninstalling any existing carta packages and removing
the old cartavis.repo file first:
sudo yum remove carta carta-beta
sudo rm /etc/yum.repos.d/cartavis.repo
Follow these steps to add the Copr repository and install carta-beta
(Root access is required, unless you install it in a Docker
container):
sudo yum -y install yum-plugin-copr
sudo yum -y copr enable cartavis/carta
sudo yum -y install epel-release
sudo yum -y install carta-beta
Note: We are currently testing the ability to have the beta and
mainline versions of the CARTA RPMs installable side-by-side. To
start carta-beta, please run:
carta-beta
We now host the CARTA RPMs on the Fedora Copr service. If you have previously
used our old "packages.cartavis.org" RPM repository,
we recommend uninstalling any existing carta packages and removing
the old cartavis.repo file first:
sudo dnf remove carta carta-beta
sudo rm /etc/yum.repos.d/cartavis.repo
Follow these steps to add the Copr repository and install carta-beta
(Root access is required, unless you install it in a Docker
container):
sudo dnf -y install 'dnf-command(copr)'
sudo dnf -y copr enable cartavis/carta
sudo dnf -y install epel-release
sudo yum -y install carta-beta
Note: We are currently testing the ability to have the beta and
mainline versions of the CARTA RPMs installable side-by-side. To
start carta-beta, please run:
carta-beta
We officially support macOS 11 Big Sur, macOS 12 Monterey, and macOS 13 Ventura through Homebrew.
If you do not already have it, you may install Homebrew using the
following command (root access is required):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
If you have previously installed CARTA via Homebrew, we recommend
unlinking it first with:
brew unlink carta
Now CARTA can be installed with:
brew install cartavis/tap/carta-beta
To start CARTA, please refer to the user manual How to Run CARTA.
The traditional macOS Electron Desktop version can be downloaded by clicking the appropriate download button below. In addition to the standard Intel version for Intel (x64) based Macs, we now supply a native Apple Silicon (arm64) based Macs.
Installation:
Click the download button below. After downloading, open the DMG
installer and drag the CARTA icon to the Applications folder.
Operation:
Click the CARTA icon in the Launchpad.
Alternatively, you may create an alias for starting CARTA in your
terminal.
Here is an example:
Open your ~/.zshrc file (or ~/.bashrc if you use bash) in
a text editor and add the following line:
alias carta-beta='/Applications/CARTA-v4.0.0-beta.1.app/Contents/MacOS/CARTA-v4.0.0-beta.1'
Then enter source ~/.zshrc
(or
source ~/.bashrc
) in the terminal.
Now you will be able to start CARTA by simply typing
carta-beta
in the terminal.
DOWNLOAD - Intel Mac
DOWNLOAD - Apple Silicon Mac
The CARTA Linux AppImage does not require root access. You simply download, extract, and run it. It uses your default web browser to display the CARTA graphical interface. The CARTA AppImage can now run universally between Ubuntu and RedHat platforms, but we have separate versions for x86_64 and aarch64 architectures.
Installation:
Either click the Download button below or run:
wget https://github.com/CARTAvis/carta/releases/download/v4.0.0-beta.1/carta.AppImage.v4.0.0-beta.1.$(arch).tgz
Extract the tarball:
tar -xzf carta.AppImage.v4.0.0-beta.1.$(arch).tgz
Operation:
To start CARTA, please refer to the user manual How to Run CARTA.
Note: If you wish to run the AppImage inside a Docker container, or you
system has trouble with FUSE, please prefix with the following
environment variable:
APPIMAGE_EXTRACT_AND_RUN=1 ./carta-v4.0.0-beta.1-$(arch).AppImage
DOWNLOAD - x86_64
DOWNLOAD - aarch64
CARTA is available in the form of a Docker container from Docker Hub. This version could be useful to run CARTA on unsupported platforms such as macOS 10.14.
With Docker installed and running on your system, simply enter the following command in your terminal:docker run -ti -p 3002:3002 -v $PWD:/images cartavis/carta:beta
It will download the v4.0.0-beta.1 version of CARTA from Docker Hub and run it using your current directory (
$PWD
) in the CARTA file-browser. A unique URL will
be displayed in the terminal.
Copy & Paste the unique URL into your local web browser in order to access the CARTA
frontend interface.
Please refer to the user manual for more information How to Run CARTA.
For more information, please refer to the beta release quick guide.
In case of any issues encountered during the installation, please contact the CARTA helpdesk.
ABOUT
Project information
CARTA publications
Journal
Development and application of an HDF5 schema for SKA-scale image cube
visualization
Proceedings and others
CARTA: Cube Analysis and Rendering Tool for Astronomy
CARTA: Cube Analysis and Rendering Tool for Astronomy
CARTA: Cube Analysis and Rendering Tool for Astronomy
CARTA: Cube Analysis and Rendering Tool for Astronomy
The
ALMA Science Archive Reaches a Major Milestone
Codebase
CARTA is mainly built in C++, TypeScript, and JavaScript, and with the following third-party libraries. Check out the codebase on Github.
- AST: http://starlink.eao.hawaii.edu/starlink/AST
- Blueprint: https://blueprintjs.com
- casacore: https://casacore.github.io
- CASA source code: https://casa.nrao.edu/index.shtml
- Chart.js: https://www.chartjs.org
- Electron: https://electronjs.org
- GoldenLayout: https://golden-layout.com
- GSL: https://www.gnu.org/software/gsl
- MobX: https://mobx.js.org
- MongoDB: https://www.mongodb.com
- node.js: https://nodejs.org
- Plotly: https://plotly.com
- Protocol buffers: https://developers.google.com/protocol-buffers
- Pugixml: https://pugixml.org
- React: https://reactjs.org
- spdlog: https://github.com/gabime/spdlog
- sse2neon: https://github.com/DLTcollab/sse2neon
- uWebsockets: https://github.com/uNetworking/uWebSockets
- WebAssembly: https://webassembly.org
Citation
Please use the DOI 10.5281/zenodo.3377984 as a citation when using CARTA for publications.