Ecosystem

The joy of our community is the many astronomy and astrophysics packages available for wide use. Packages are separated by functionality and Julia's declarative package manager takes care of resolving dependencies. You get just the functionality you need, and smaller packages lead to more rapid development.

Data I/O

AstroImages.jl

Load, manipulate, and visualize astronomical images

FITSIO.jl

Reading and writing FITS files

  • Interact with header data units (HDUs), FITS headers, and FITS data: both images and tables
  • FITS tables follow the Tables.jl interface, allowing seamless integration with the rich data ecosystem, like CSV.jl, DataFrames.jl, etc.

CFITSIO.jl

Reading and writing FITS files

mweastwood/CasaCore.jl

Tables and measurement sets for radio astronomy

  • Wrapper for CasaCore
  • Interface for CASA tables and measures

emmt/OIFITS.jl

Support for OI-FITS

  • Read and write OI-FITS optical interferometry data format

aplavin/VLBIData.jl

Work with data formats common in very long baseline interferometry (VLBI)

  • Read interferometric visibilities (uvfits), images (fits), and source models
  • Minimal writing support for source models

aplavin/Difmap.jl

Wrapper for the Difmap program used in synthesis imaging

  • Execute Difmap scripts, handle inputs/outputs and logs
  • Display images and plots from Difmap in interactive Julia environments

Visualization and Plotting

AstroImages.jl

Load, manipulate, and visualize astronomical images

SAOImageDS9.jl

Interface with the DS9 image viewer

  • Uses XPA.jl to communicate with DS9 instances
  • Easily display images in DS9 and add features like circles and lines
  • Low-level API accessible with set and get

Image Processing

CCDReduction.jl

Common CCD image processing routines

  • Creation of calibration files
  • Dark subtraction, flat normalization, bias subtraction, cropping
  • Specialized iterator for processing directories of FITS files using a table built from the FITS headers.

LACosmic.jl

Cosmic-ray rejection by Laplacian edge detection

  • Implementation of the L.A.Cosmic algorithm (van Dokkum, 2001)
  • Returns bad pixel masks and cleaned data

Photometry.jl

Aperture photometry

  • Background estimation and source extraction
  • Fast and precise aperture photometry

PSFModels.jl

Analytical, allocation-free point-spread-functions (PSF)

  • Lazy representation allows fast allocation-free calculations
  • Gaussian (Normal), Moffat, and Airy disk.

Reproject.jl

Astronomical image reprojection

  • Uses FITSIO.jl and WCS.jl to reproject coordinate systems between FITS images

JuliaHCI/HCIToolbox.jl

Common utilities for high-contrast imaging (HCI) processing

  • Morphological operations (rotation, stacking, shifting)
  • Masking routines (circles, annulus, series of annuli)
  • Spectral scaling and descaling

JuliaHCI/SubpixelRegistration.jl

Sub-pixel registration using discrete Fourier transforms

  • Uses FFTs to register images, with arbitrary precision
  • Includes methods for Fourier based image-translation (phase-shifting)

JuliaHCI/ADI.jl

Angular Differential Imaging (ADI) routines in Julia

  • PCA, NMF, LLSG, LOCI, etc.
  • Apply algorithms framewise or in spectral differential imaging (SDI) using Julia's multiple dispatch
  • Provide an interface for using these algorithms in other tools
  • Common HCI metrics including S/N maps, contrast curves, throughput curves (from PSF injection), STIM, etc.

Statistics

mileslucas/BiweightStats.jl

Robust statistics based on the biweight transform

  • Implements the location, scale, midvariance, midcovariance, and midcorrelation statistics

JuliaHCI/ADI.jl

Angular Differential Imaging (ADI) routines in Julia

  • PCA, NMF, LLSG, LOCI, etc.
  • Apply algorithms framewise or in spectral differential imaging (SDI) using Julia's multiple dispatch
  • Provide an interface for using these algorithms in other tools
  • Common HCI metrics including S/N maps, contrast curves, throughput curves (from PSF injection), STIM, etc.

Time, Coordinates, Units

AstroAngles.jl

String parsing and representation of angles

  • Parse and represent sexagesimal angles with a variety of delimiters
  • Methods for converting to hour-minute-second angles from degrees and radians, and vice-versa

AstroTime.jl

Astronomical time keeping

  • High-precision, time-scale aware, DateTime-like data type
  • Support all commonly used astronomical time scales

ERFA.jl

Time systems conversions

SkyCoords.jl

Astronomical coordinate systems

  • Supports ICRS, galactic, and FK5 coordinate systems
  • Fast conversion of coordinates between different systems

SPICE.jl

SPICE data retrieval and usage

  • Wrapper for CSPICE
  • Read SPICE data files and compute derived observation geometry such as altitude, latitude/longitude and lighting angles

UnitfulAstro.jl

Astronomical units

WCS.jl

World Coordinate System transformations

Orbits and Ephemerides

Transits.jl

Flexible photometric transit curves with limb darkening

  • Inspired by exoplanet
  • Includes Keplerian orbits and generic orbits
  • Fully compatible with Unitful.jl

sefffal/PlanetOrbits.jl

Tools for displaying and solving Keplerian orbits in the context of direct imaging

EarthOrientation.jl

Earth orientation parameters

  • Calculate Earth orientation parameters from IERS tables

JPLEphemeris.jl

JPL Development Ephemerides

  • Calculate positions and velocities of solar system bodies

AstroLib.jl

Collection of generic astronomical and astrophysical functions

  • Translation of many IDL AstroLib procedures

General

AstroLib.jl

Collection of generic astronomical and astrophysical functions

  • Translation of many IDL AstroLib procedures

BoxLeastSquares.jl

Compute box-least-squares periodogram

  • Fit BLS periodograms to time-series data
  • Extract best-fitting transit parameters from the BLS periodogram
  • Fully compatible with Unitful.jl

Cosmology.jl

Distances in the universe

  • $\Lambda$-CDM and $w_0$-$w_a$ cosmologies
  • Open, closed, and flat variants
  • Fully compatible with Unitful.jl

DustExtinction.jl

Dust extinction laws and maps

  • Various empirical extinction models
  • SFD (1998) galactic dust map
  • Fully compatible with Unitful.jl

LombScargle.jl

Compute Lomb-Scargle periodogram

  • Create periodograms from unevenly sampled periodic signals
  • Supports multi-threading

manuelbehrendt/Mera.jl

Working with large hydrodynamical simulation data

  • Loading, writing, analysing 3D AMR/uniform-grid and N-body data sets
  • Memory lightweight data processing within a database framework
  • Many predefined functions and examples

Photometry.jl

Aperture photometry

  • Background estimation and source extraction
  • Fast and precise aperture photometry

Transits.jl

Flexible photometric transit curves with limb darkening

  • Inspired by exoplanet
  • Includes Keplerian orbits and generic orbits
  • Fast polynomial limb-darkening laws based on Agol, Luger, Foreman-Mackey (2020)
  • Composable limb-darkening extensions for integrated light curves and secondary light curves.
  • Fully compatible with Unitful.jl