Skip to main content

A package for classifying tabular photometry data from JWST, Spitzer, and 2MASS according to one of YSOs, field stars, brown dwarfs, white dwarfs, or galaxies.

Project description

Stellar Evolutionary Stage Heuristic Assessment Tool (SESHAT)

This is a beta version of the SESHAT tool, currently being modified for publication.

The final version will be released pending any suggestions from the referee.

If you use this package, please cite Crompvoets et al. 2025 (submitted). Please also cite the original data producers:
YSOs: [Richardson et al. (2024)][https://ui.adsabs.harvard.edu/abs/2024ApJ...961..188R/abstract]
Brown dwarfs: ATMO -- [Phillips et al. (2020)][https://ui.adsabs.harvard.edu/abs/2020A%26A...637A..38P/abstract]
White dwarfs: [Blouin et al. (2018)][https://ui.adsabs.harvard.edu/abs/2018ApJ...863..184B/abstract]
Field stars: PARSEC -- [Bressen et al. (2012)][https://ui.adsabs.harvard.edu/abs/2012MNRAS.427..127B/abstract]
Galaxies: CIGALE -- [Burgarella et al. 2005][https://ui.adsabs.harvard.edu/abs/2005MNRAS.360.1413B/abstract], [Noll et al. 2009][https://ui.adsabs.harvard.edu/abs/2009A%26A...507.1793N/abstract] [Boquin et al. (2020)][https://ui.adsabs.harvard.edu/abs/2019A%26A...622A.103B/abstract]

Catalog set-up

Please have your catalog set-up with the columns as:
Spitzer: ['IRAC1', 'IRAC2', 'IRAC3', 'IRAC4', 'MIPS1', 'MIPS2', 'MIPS3']
2MASS: ['J', 'H', 'Ks']
JWST: in the frame of 'f090w', or 'f322w2'.

Please include errors as 'e_' + filter name; e.g. 'e_f090w'.

All columns must be in Vega mags.

If you have labels already known, these should be under the column: 'Class'
The labels should match the following:
Young Stellar Objects: "YSO"
Field stars: "FS"
Galaxies: "Gal"
White dwarfs: "WD"
Brown dwarfs: "BD"

Other important information

The function classify accepts pandas DataFrames or Astropy Tables.

When testing filters, it is assumed the data will have errors that can be approximated by a Gaussian with mean 0.1 mag and standard deviation 0.01 mag.

SESHAT only takes medium, wide, and very-wide filters as input for JWST, no narrow filters.

Example of obtaining classifications

from seshat-classifier import seshat
import pandas as pd

# Read in catalog
my_catalog = pd.read_csv("my_catalog.csv")

# Specify classes to be identified
classes = ['YSO', 'FS', 'Gal']

# Get classifications
my_catalog_classified = seshat.classify(real = my_catalog, classes = classes, return_test=False, threads = 8)

# Get classifications and test set performance
my_catalog_classified, test_results = seshat.classify(real = my_catalog, classes = classes, return_test=True, threads = 8)

Example of testing filters

from seshat-classifier import seshat
import numpy as np

# Specify filters to test
filters = ['f090w', 'f200w', 'f356w', 'f480m', 'f770w', 'f1500w']
# Specify classes to search for
classes = ['YSO', 'FS', 'Gal']

# Specify the limiting and saturating magnitudes of your observations
limiting_mags = [22, 23, 24, 25, 22, 24]
saturating_mags = [12, 12, 11, 14, 12, 15]

# Specify the expected distribution of errors
sig = 0.02
mean = 0.1
errs = [np.random.normal(mean, sig, size=100) for f in filters] # Choose a suitably large size to capture shape of distribution

# Get the performance
test_results = test_filters(filters = filters, classes=classes, limiting_mags = limiting_mags, saturating_mags = saturating_mags, errs=errs, threads = 8)

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

seshat_classifier-0.0.29.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

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

seshat_classifier-0.0.29-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file seshat_classifier-0.0.29.tar.gz.

File metadata

  • Download URL: seshat_classifier-0.0.29.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for seshat_classifier-0.0.29.tar.gz
Algorithm Hash digest
SHA256 d649f2cf20ad40de0205d85bb1b55f2c98b77bbaf5e454ef2af3680bee4b26aa
MD5 a4674b630a8cf7dd153f9232d4ddf620
BLAKE2b-256 510914a3d5e7dba1d196ed055623242c13fe5e904d0a278b3411831fd82bc59a

See more details on using hashes here.

File details

Details for the file seshat_classifier-0.0.29-py3-none-any.whl.

File metadata

File hashes

Hashes for seshat_classifier-0.0.29-py3-none-any.whl
Algorithm Hash digest
SHA256 bf5465567718fcd863f05d323518486691ae9c8081e7e0ccc45c5e4d7e1c9a9c
MD5 9cd051aa70ee89aafd2da32409c5e961
BLAKE2b-256 9b30a501e58846bd89dc399a4505ed026c9b71ead8546bee5f61aab0f253cf9d

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