import numpy as np
from astropy import constants, units as u, table, stats, coordinates, wcs, log, coordinates as coord
from astropy import modeling
import paths
from astroquery.splatalogue import Splatalogue
from astroquery.splatalogue.utils import minimize_table
from astropy.table import Column
from astroquery.vizier import Vizier

Splatalogue.set_default_options(show_upper_degeneracy=True)
Splatalogue.LINES_LIMIT = 1e5


def mt(x):
    return minimize_table(
        x,
        columns=[
            'Species',
            'Chemical Name',
            'Resolved QNs',
            'Freq-GHz(rest frame,redshifted)',
            'Meas Freq-GHz(rest frame,redshifted)',
            'Log<sub>10</sub> (A<sub>ij</sub>)',
            'E_U (K)',
            'Upper State Degeneracy',
        ],
    )


def load_barton(species):
    tbl = table.Table.read(paths.salty(species +