Allow frequencies to be used in input files
This commit is contained in:
parent
eb0bd71813
commit
b50f942f83
@ -71,7 +71,8 @@ Reading CSV-Files
|
|||||||
|
|
||||||
The format of a file has to be either structured text (e.g. CSV) or astropy ECSV. The format of the file will be automatically detected during read.
|
The format of a file has to be either structured text (e.g. CSV) or astropy ECSV. The format of the file will be automatically detected during read.
|
||||||
In case of structured text, the units of the columns have to be defined in the column header within square brackets
|
In case of structured text, the units of the columns have to be defined in the column header within square brackets
|
||||||
(e.g. "wavelength [nm]"). The file must contain two columns with units: wavelength and the spectral quantity:
|
(e.g. "wavelength [nm]"). The file must contain two columns with units: wavelength/frequency and the spectral quantity.
|
||||||
|
The first column can be either a wavelength or a frequency.
|
||||||
|
|
||||||
+-----------------+------------------------------+
|
+-----------------+------------------------------+
|
||||||
| wavelength [nm] | emission [W/(nm\*m^2\*sr)] |
|
| wavelength [nm] | emission [W/(nm\*m^2\*sr)] |
|
||||||
|
@ -103,7 +103,15 @@ def readCSV(file: str, units: list = None, format_: str = None) -> Table:
|
|||||||
data[data.colnames[i]].unit = units_header[i]
|
data[data.colnames[i]].unit = units_header[i]
|
||||||
if units is not None and len(units) == len(data.columns):
|
if units is not None and len(units) == len(data.columns):
|
||||||
for i in range(len(data.columns)):
|
for i in range(len(data.columns)):
|
||||||
|
if data[data.colnames[i]].unit.is_equivalent(u.Hz) and units[i].is_equivalent(u.m):
|
||||||
|
data[data.colnames[i]] = data[data.colnames[i]].to(units[i], equivalencies=u.spectral())
|
||||||
|
else:
|
||||||
|
try:
|
||||||
data[data.colnames[i]] = data[data.colnames[i]].to(units[i])
|
data[data.colnames[i]] = data[data.colnames[i]].to(units[i])
|
||||||
|
except:
|
||||||
|
data[data.colnames[i]] = data[data.colnames[i]].to(units[i],
|
||||||
|
equivalencies=u.spectral_density(
|
||||||
|
data[data.colnames[0]]))
|
||||||
# Use default units
|
# Use default units
|
||||||
elif units is not None and len(units) == len(data.columns):
|
elif units is not None and len(units) == len(data.columns):
|
||||||
for i in range(len(data.columns)):
|
for i in range(len(data.columns)):
|
||||||
|
Loading…
Reference in New Issue
Block a user