Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 18 additions & 16 deletions functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,8 @@ def calc_wstep(resolution, zero_fill):

return wstep

import math

def multiscan(spectrum, num_scans):
# add random noise to spectrum
# https://radis.readthedocs.io/en/latest/source/radis.spectrum.operations.html#radis.spectrum.operations.add_array
Expand Down Expand Up @@ -375,76 +377,76 @@ def get_component_spectra(w, source_temp):
# processing for blackbody spectrum (sPlanck)
spec_sPlanck = Spectrum(
{"wavenumber": w, "transmittance_noslit": __sPlanck(w, source_temp)},
wunit="cm",
wunit="cm-1",
units={"transmittance_noslit": ""},
name="sPlanck",
)
spec_sPlanck.normalize(normalize_how="mean", inplace=True, force=True)
spec_sPlanck.normalize(normalize_how="max", inplace=True, force=True)

# processing for anti-reflective zinc selenide (AR_ZnSe) beamsplitter
spec_AR_ZnSe = Spectrum(
{"wavenumber": w, "transmittance_noslit": __AR_ZnSe(w)},
wunit="cm",
wunit="cm-1",
units={"transmittance_noslit": ""},
name="AR_ZnSe",
)
spec_AR_ZnSe.normalize(normalize_how="mean", inplace=True, force=True)
spec_AR_ZnSe.normalize(normalize_how="max", inplace=True, force=True)

# processing for anti-reflective calcium fluoride (AR_CaF2) beamsplitter
spec_AR_CaF2 = Spectrum(
{"wavenumber": w, "transmittance_noslit": __AR_CaF2(w)},
wunit="cm",
wunit="cm-1",
units={"transmittance_noslit": ""},
name="AR_CaF2",
)
spec_AR_CaF2.normalize(normalize_how="mean", inplace=True, force=True)
spec_AR_CaF2.normalize(normalize_how="max", inplace=True, force=True)

# processing for calcium fluoride (CaF2) cell window
spec_CaF2 = Spectrum(
{"wavenumber": w, "transmittance_noslit": __CaF2(w)},
wunit="cm",
wunit="cm-1",
units={"transmittance_noslit": ""},
name="CaF2",
)
spec_CaF2.normalize(normalize_how="mean", inplace=True, force=True)
spec_CaF2.normalize(normalize_how="max", inplace=True, force=True)


# processing for zinc selenide (ZnSe) cell window
spec_ZnSe = Spectrum(
{"wavenumber": w, "transmittance_noslit": __ZnSe(w)},
wunit="cm",
wunit="cm-1",
units={"transmittance_noslit": ""},
name="ZnSe",
)
spec_ZnSe.normalize(normalize_how="mean", inplace=True, force=True)
spec_ZnSe.normalize(normalize_how="max", inplace=True, force=True)


# processing for sapphire window before detector
spec_sapphire = Spectrum(
{"wavenumber": w, "transmittance_noslit": __sapphire(w)},
wunit="cm",
wunit="cm-1",
units={"transmittance_noslit": ""},
name="sapphire",
)
spec_sapphire.normalize(normalize_how="mean", inplace=True, force=True)
spec_sapphire.normalize(normalize_how="max", inplace=True, force=True)

# processing for Mercury-Cadmium-Telluride (MCT) detector
spec_MCT = Spectrum(
{"wavenumber": w, "transmittance_noslit": __MCT(w)},
wunit="cm",
wunit="cm-1",
units={"transmittance_noslit": ""},
name="MCT",
)
spec_MCT.normalize(normalize_how="mean", inplace=True, force=True)
spec_MCT.normalize(normalize_how="max", inplace=True, force=True)

# processing for indium antimonide (InSb) detector
spec_InSb = Spectrum(
{"wavenumber": w, "transmittance_noslit": __InSb(w)},
wunit="cm",
wunit="cm-1",
units={"transmittance_noslit": ""},
name="InSb",
)
spec_InSb.normalize(normalize_how="mean", inplace=True, force=True)
spec_InSb.normalize(normalize_how="max", inplace=True, force=True)

return (spec_sPlanck, spec_AR_ZnSe, spec_AR_CaF2, spec_CaF2, spec_ZnSe,
spec_sapphire, spec_MCT, spec_InSb)
4 changes: 2 additions & 2 deletions processing.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ def process_spectrum(params, raw_spectrum):
# SerialSlabs() multiplies the transmittance values (y-values) of the selected spectra
# https://radis.readthedocs.io/en/latest/source/radis.los.slabs.html#radis.los.slabs.SerialSlabs
spectrum = SerialSlabs(*slabs, modify_inputs="True")
spectrum = multiscan(spectrum, params["scan"])
# spectrum = multiscan(spectrum, params["scan"])

# return processed spectrum
return spectrum
Expand All @@ -98,7 +98,7 @@ def process_background(raw_spectrum):
"wavenumber": raw_spectrum.get_wavenumber(),
"transmittance_noslit": zeroY(raw_spectrum.get_wavenumber()),
},
wunit="cm",
wunit="cm-1",
units={"transmittance_noslit": ""},
name="Background",
)
Expand Down