Source code for libpyhat.IO.io_kaguya_sp

import pandas as pd
from plio.io import io_spectral_profiler

from libpyhat import spectral_data


[docs] def spectral_profiler(f): """ Generate DataFrame from spectral profiler data. parameters ---------- f : str file path to spectral profiler file """ sp_io = io_spectral_profiler.Spectral_Profiler(f) meta = sp_io.ancillary_data meta.columns = pd.MultiIndex.from_tuples( [('meta', i) for i in meta.columns] ) meta[('meta', 'id')] = meta.index df = sp_io.spectra.transpose() df.columns = pd.MultiIndex.from_tuples([('wvl', i) for i in df.columns]) indices = pd.MultiIndex.to_list( df.index ) # read indices and put them in metadata columns df[('meta', 'id')] = [i[0] for i in indices] df[('meta', 'spect_type')] = [i[1] for i in indices] sp = pd.merge(meta, df, how="inner", on=[('meta', 'id')]) sp = spectral_data.SpectralData(sp, spect_label='wvl', meta_label='meta') return sp