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.


Domain

EphemerisSources.jl

curly braces Repository

book icon Documentation

Meta package for accessing JPL HORIZONS and SPICE sources

  • Calculate positions and velocities of solar system bodies

PerezHz/HORIZONS.jl

curly braces Repository

book icon Documentation

An interface to NASA-JPL HORIZONS system and other Solar System Dynamics APIs in Julia

  • Calculate positions and velocities of solar system bodies

JuliaSpace/SatelliteToolbox.jl

curly braces Repository

book icon Documentation

Perform analysis and build simulations related to satellites

  • Atmospheric, gravitational, and geomagnetic field models
  • Orbit propagators

See also:

SPICE.jl

curly braces Repository

book icon Documentation

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

JuliaHCI/ADI.jl

curly braces Repository

book icon Documentation

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.

JuliaHCI/HCIToolbox.jl

curly braces Repository

book icon Documentation

Common utilities for high-contrast imaging (HCI) processing

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

sefffal/PlanetOrbits.jl

curly braces Repository

book icon Documentation

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

Transits.jl

curly braces Repository

book icon Documentation

Flexible photometric transit curves with limb darkening

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

Cosmology.jl

curly braces Repository

book icon Documentation

Distances in the universe

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

DustExtinction.jl

curly braces Repository

book icon Documentation

Dust extinction laws and maps

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

Techniques

CCDReduction.jl

curly braces Repository

book icon Documentation

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

curly braces Repository

book icon Documentation

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

curly braces Repository

book icon Documentation

Aperture photometry

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

PSFModels.jl

curly braces Repository

book icon Documentation

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

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

SAOImageDS9.jl

curly braces Repository

book icon Documentation

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

barrettp/Astrometry.jl

curly braces Repository

book icon Documentation

Set of IAU standard algorithms for calculating the time and position of celestial objects

AstroTime.jl

curly braces Repository

book icon Documentation

Astronomical time keeping

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

EarthOrientation.jl

curly braces Repository

book icon Documentation

Earth orientation parameters

  • Calculate Earth orientation parameters from IERS tables

ERFA.jl

curly braces Repository

book icon Documentation

Time systems conversions

ziotom78/Healpix.jl

curly braces Repository

book icon Documentation

Implementation of Healpix spherical tesselation scheme in pure Julia

  • pixel functions, query functions, map functions
  • power spectrum support
  • plotting support

Reproject.jl

curly braces Repository

book icon Documentation

Astronomical image reprojection

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

SkyCoords.jl

curly braces Repository

book icon Documentation

Astronomical coordinate systems

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

WCS.jl

curly braces Repository

book icon Documentation

World Coordinate System transformations


ajwheeler/Korg.jl

curly braces Repository

book icon Documentation

Theoretical stellar spectra from 1D model atmospheres and linelists, assuming LTE

Spectra.jl

curly braces Repository

book icon Documentation

Utilities for interfacing with astronomical spectra and synthetic spectra libraries

  • Utilities for interfacing with astronomical spectra and synthetic spectra libraries

fjebaker/SpectralFitting.jl

curly braces Repository

book icon Documentation

✨🛰 Fast and flexible spectral fitting in Julia

  • Spectral fitting routines and models with a focus on X-ray astronomy
  • This project is an attempt to modernise the field with new advancements in computational methods and statistical methods
  • SpectralFitting.jl aims to be extensible and reproducible, such that fits may be easily tailored to novel and specific problems, and easily verified by others

JuliaDSP/DSP.jl

curly braces Repository

book icon Documentation

Filter design, periodograms, window functions, and other digital signal processing functionality

LombScargle.jl

curly braces Repository

book icon Documentation

Compute Lomb-Scargle periodogram

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

JuliaStats/TimeSeries.jl

curly braces Repository

book icon Documentation

Time series toolkit for Julia

  • TimeSeries aims to provide a lightweight framework for working with time series data in Julia

JuliaAPlavin/Difmap.jl

curly braces Repository

book icon Documentation

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

emmt/OIFITS.jl

curly braces Repository

book icon Documentation

Support for OI-FITS

  • Read and write OI-FITS optical interferometry data format

fabienbaron/OITOOLS.jl

curly braces Repository

book icon Documentation

A collection of tools to load, visualize, model-fit and image optical interferometry data coming from CHARA, NPOI and VLTI

  • OITOOLS is a Julia package to read, plot, model-fit and image optical interferometric data coming from astronomical arrays such as CHARA, VLTI, and NPOI
  • Note that despite having the same name as JMMC's oitools, they are completely unrelated and were developed independently

JuliaAPlavin/VLBIData.jl

curly braces Repository

book icon Documentation

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

Statistics

JuliaPhysics/Measurements.jl

curly braces Repository

book icon Documentation

Error propagation calculator and library for physical measurements. It supports real and complex numbers with uncertainty, arbitrary precision calculations, operations with arrays, and numerical integration

  • Measurements.jl relieves you from the hassle of propagating uncertainties coming from physical measurements, when performing mathematical operations involving them
  • The linear error propagation theory is employed to propagate the errors

MonteCarloMeasurements.jl

curly braces Repository

book icon Documentation

Propagation of distributions by Monte-Carlo sampling: Real number types with uncertainty represented by samples

  • This package facilitates working with probability distributions by means of Monte-Carlo methods, in a way that allows for propagation of probability distributions through functions

JuliaAPlavin/Uncertain.jl

curly braces Repository

book icon Documentation

Handle uncertain values with ease and performance!

  • The ultimate goal of Uncertain.jl is to support arbitrary uncertainty specifications – asymmetric errors, intervals, more complex distributions, and go beyond plain numbers. All within a single uniform interface

BoxLeastSquares.jl

curly braces Repository

book icon Documentation

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

jump-dev/JuMP.jl

curly braces Repository

book icon Documentation

Modeling language for Mathematical Optimization (linear, mixed-integer, conic, semidefinite, nonlinear)

SciML/NonlinearSolve.jl

curly braces Repository

book icon Documentation

High-performance and differentiation-enabled nonlinear solvers (Newton methods), bracketed rootfinding (bisection, Falsi), with sparsity and Newton-Krylov support

  • Fast implementations of root finding algorithms in Julia that satisfy the SciML common interface

SciML/Optimization.jl

curly braces Repository

book icon Documentation

Mathematical Optimization in Julia. Local, global, gradient-based and derivative-free. Linear, Quadratic, Convex, Mixed-Integer, and Nonlinear Optimization in one simple, fast, and differentiable interface

  • Optimization.jl seeks to bring together all of the optimization packages it can find, local and global, into one unified Julia interface
  • This means, you learn one package and you learn them all!

AstroLib.jl

curly braces Repository

book icon Documentation

Collection of generic astronomical and astrophysical functions

  • Translation of many IDL AstroLib procedures

mileslucas/BiweightStats.jl

curly braces Repository

book icon Documentation

Robust statistics based on the biweight transform

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

JuliaStats

curly braces Repository

book icon Documentation

Statistics and Machine Learning made easy in Julia

  • Easy to use tools for statistics and machine learning

JuliaStats/Distributions.jl

curly braces Repository

book icon Documentation

A Julia package for probability distributions and associated functions

  • A Julia package for probability distributions and associated functions

Utilities

eschnett/ASDF2.jl

curly braces Repository

book icon Documentation

ASDF, the Advanced Scientific Data Format

AstroImages.jl

curly braces Repository

book icon Documentation

Load, manipulate, and visualize astronomical images

CFITSIO.jl

curly braces Repository

book icon Documentation

Reading and writing FITS files

emmt/EasyFITS.jl

curly braces Repository

book icon Documentation

Using FITS files made easier for Julia

  • EasyFITS is a Julia package designed to make it easier to read and write data in FITS format without sacrificing performances, flexibility, or readability.

barrettp/FITS.jl

curly braces Repository

book icon Documentation

A Julia Flexible Image Transport System (FITS) file IO package

  • A Julia Flexible Image Transport System (FITS) file IO package

FITSIO.jl

curly braces Repository

book icon Documentation

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.

FixedWidthTables.jl

curly braces Repository

book icon Documentation

Read fixed width (so-called ASCII) tables

  • Read fixed width (so-called ASCII) tables. A wide range of format specification options, including autodetection

JuliaAPlavin/SkyImages.jl

curly braces Repository

book icon Documentation

Load astronomical images of the sky and process them with convenient, general, and composable functions.

  • FITS WCS and Healpix images
  • Uniform interface and Makie plotting
  • Use original data as-is or project onto a rectangular grid

JuliaAPlavin/VirtualObservatory.jl

curly braces Repository

book icon Documentation

Access remote data and services that follow VO protocols

  • Access remote data and services that follow Virtual Observatory (VO, https://www.ivoa.net/) protocols
  • Currently supports the Table Access Protocol (TAP), and a few key features specific to the VizieR database

JuliaAPlavin/VOTables.jl

curly braces Repository

book icon Documentation

Read and write VOTable files

  • Text and binary VOTables support
  • Read Unitful numbers and column metadata

AstroImages.jl

curly braces Repository

book icon Documentation

Load, manipulate, and visualize astronomical images

torrance/Casacore.jl

curly braces Repository

book icon Documentation

A high level Julia interface to Casacore

  • Wrapper for CasaCore
  • Uses casacorecxx which uses CxxWrap to wrap the C++ Casacore codebase. These raw objects and methods are available in Casacore.LibCasacore

JuliaData/DataFrames.jl

curly braces Repository

book icon Documentation

In-memory tabular data in Julia

  • Tools for working with tabular data in Julia

rafaqz/DimensionalData.jl

curly braces Repository

book icon Documentation

Named dimensions and indexing for julia arrays and other data

  • DimensionalData.jl provides tools and abstractions for working with datasets that have named dimensions, and optionally a lookup index
  • It provides no-cost abstractions for named indexing, and fast index lookups

JuliaAPlavin/FlexiJoins.jl

curly braces Repository

book icon Documentation

FlexiJoins.jl is a fresh take on joining tabular or non-tabular datasets in Julia.

  • From simple joins by key, to asof joins, to merging catalogs of terrestrial or celestial coordinates – FlexiJoins supports any usecase

JuliaAPlavin/SkyImages.jl

curly braces Repository

book icon Documentation

Load astronomical images of the sky and process them with convenient, general, and composable functions.

  • FITS WCS and Healpix images
  • Uniform interface and Makie plotting
  • Use original data as-is or project onto a rectangular grid

gcalderone/SortMerge.jl

curly braces Repository

book icon Documentation

A Julia implementation of the Sort-merge join algorithm

  • The Sort-merge join algorithm allows to quickly find the matching pairs in two separate arrays or collections
  • The best performances are obtained when the input data are already sorted, but the package is able to sort the data if they are not

AstroImages.jl

curly braces Repository

book icon Documentation

Load, manipulate, and visualize astronomical images

JuliaImages/ImageFiltering.jl

curly braces Repository

book icon Documentation

ulia implementations of multidimensional array convolution and nonlinear stencil operations

  • ImageFiltering implements blurring, sharpening, gradient computation, and other linear filtering operations, as well nonlinear filters like min/max

ManuelBehrendt/Mera.jl

curly braces Repository

book icon Documentation

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

sefffal/PairPlots.jl

curly braces Repository

book icon Documentation

Beautiful and flexible visualizations of high dimensional data

See also:

JuliaAPlavin/SkyImages.jl

curly braces Repository

book icon Documentation

Load astronomical images of the sky and process them with convenient, general, and composable functions.

  • FITS WCS and Healpix images
  • Uniform interface and Makie plotting
  • Use original data as-is or project onto a rectangular grid

AstroAngles.jl

curly braces Repository

book icon Documentation

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

SymbolicML/DynamicQuantities.jl

curly braces Repository

book icon Documentation

Efficient and type-stable physical quantities in Julia

  • Defines a simple statically-typed Quantity type for Julia
  • Physical dimensions are stored as a value, as opposed to a parametric type, as in Unitful.jl

JuliaPhysics/PhysicalConstants.jl

curly braces Repository

book icon Documentation

Collection of fundamental physical constants with uncertainties

  • PhysicalConstants.jl provides common physical constants
  • They are defined as instances of the new Constant type, which is subtype of AbstractQuantity (from Unitful.jl package) and can also be turned into Measurement objects (from Measurements.jl package) at request

PainterQubits/Unitful.jl

curly braces Repository

book icon Documentation

Physical quantities with arbitrary units

  • Unitful is a Julia package for physical units
  • We want to support not only SI units but also any other unit system

UnitfulAstro.jl

curly braces Repository

book icon Documentation

Astronomical units and things