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
- Works with the FileIO.jl interface
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
- Low-level wrapper for cfitsio
- The c interface can be directly accessed with the CFITSIO_jll package
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
- Works with the FileIO.jl interface
- Automatic visualizations are directly integrated into many environments like VSCode, Pluto.jl, and IJulia.jl
- Includes recipes for plotting with Plots.jl
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
andget
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
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
- Low-level wrapper for liberfa
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
- Extension of Unitful.jl
WCS.jl
World Coordinate System transformations
- Wrapper for wcslib
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