Skip to main content

An all-sky 3D dust map based on Gaia and LAMOST.

Project description

Read this in: 中文

dustmaps3d

🌌 An all-sky 3D dust extinction map based on Gaia and LAMOST

📄 Wang et al. (2025), An all-sky 3D dust map based on Gaia and LAMOST
📌 DOI: 10.12149/101620

📦 A Python package for easy access to the 3D dust map
📌 DOI: 10.12149/101619


📦 Installation

Install via pip:

pip install dustmaps3d

Note: Installing the package does not include the data file.
The ~350 MB model data will be automatically downloaded from GitHub on first use.
⚠️ If you experience network issues when downloading from GitHub,
you can manually download the data from NADC:
🔗 https://nadc.china-vo.org/res/r101619/


🚀 Usage

from dustmaps3d import dustmaps3d

l = [120.0]
b = [30.0]
d = [1.5]

EBV, dust, sigma, max_d = dustmaps3d(l, b, d)

print(f"EBV: {EBV[0]:.4f} [mag]")
print(f"Dust: {dust[0]:.4f} [mag/kpc]")
print(f"Sigma: {sigma[0]:.4f} [mag]")
print(f"Max distance: {max_d[0]:.4f} kpc")

Batch example with FITS:

import numpy as np
from astropy.io import fits
from astropy.table import Table
from dustmaps3d import dustmaps3d

data = Table.read('input.fits')
l = data['l'].astype(float)
b = data['b'].astype(float)
d = data['distance'].astype(float)

EBV, dust, sigma, max_d = dustmaps3d(l, b, d)

data['EBV_3d'] = EBV
data['dust'] = dust
data['sigma'] = sigma
data['max_distance'] = max_d

data.write('output.fits', overwrite=True)

🧠 Function Description

dustmaps3d(l, b, d, n_process=None)

Estimates 3D dust extinction and related quantities for given galactic coordinates and distances.

Input Type Description Unit
l np.ndarray Galactic longitude degrees
b np.ndarray Galactic latitude degrees
d np.ndarray Distance kpc
n_process int, optional Number of processes for parallel computing

Returns:

Output Type Description Unit
EBV np.ndarray E(B–V) extinction mag
dust np.ndarray Dust density (d(EBV)/dx) mag/kpc
sigma np.ndarray Estimated uncertainty in E(B–V) mag
max_d np.ndarray Maximum reliable distance kpc

If d contains NaN, it will be automatically replaced by the maximum reliable distance along that line of sight.


⚡ Performance

  • Fully vectorized and optimized with NumPy
  • Supports multiprocessing with n_process argument
  • On a modern personal computer, evaluating 100 million stars takes only ~100 seconds

📂 Data Version

This version uses data_v2.1.parquet, released under v2.1


📜 Citation

If you use this model or the Python package, please cite both:

  • Wang, T. (2025), An all-sky 3D dust map based on Gaia and LAMOST. DOI: 10.12149/101620
  • dustmaps3d: A Python package for easy access to the 3D dust map. DOI: 10.12149/101619

🛠️ License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dustmaps3d-2.1.0.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dustmaps3d-2.1.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file dustmaps3d-2.1.0.tar.gz.

File metadata

  • Download URL: dustmaps3d-2.1.0.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.3

File hashes

Hashes for dustmaps3d-2.1.0.tar.gz
Algorithm Hash digest
SHA256 0a9879bc2f8f6d9b13467f863c64dee66c93d9c25f2e8f15b0116d2fdb608832
MD5 df5858d0a23e642f67358acd5285c5dd
BLAKE2b-256 2074aecf72ed2c15d94b1c4f9e11be29dcb3e082b53eba528f3c2f5c70e318c8

See more details on using hashes here.

File details

Details for the file dustmaps3d-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: dustmaps3d-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.3

File hashes

Hashes for dustmaps3d-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 802ff3fd50d5893b9a1d9a175e23c371e976b2b2a038b79bb797b8173c3aa004
MD5 2a4f86e1edc3aee0cab675002b2a0b02
BLAKE2b-256 3a7bb66b30c73583463b9f98b91eaa5ce3ca0f9f547ee30cf07bdcfc8ea2ae90

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page