From 60cfc117a34959005fd30f79b5efa80938190837 Mon Sep 17 00:00:00 2001 From: LukasK13 Date: Tue, 19 May 2020 10:45:50 +0200 Subject: [PATCH] test added --- tests/sensor/test_Imager.py | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 tests/sensor/test_Imager.py diff --git a/tests/sensor/test_Imager.py b/tests/sensor/test_Imager.py new file mode 100644 index 0000000..b98fb8d --- /dev/null +++ b/tests/sensor/test_Imager.py @@ -0,0 +1,39 @@ +from unittest import TestCase +import astropy.units as u +import numpy as np +from esbo_etc.classes.Config import Configuration +from esbo_etc.classes.target.FileTarget import FileTarget +from esbo_etc.classes.target.BlackBodyTarget import BlackBodyTarget +from esbo_etc.classes.optical_component.StrayLight import StrayLight +from esbo_etc.classes.sensor.Imager import Imager + + +class TestImager(TestCase): + def setUp(self): + self.config = Configuration("data/esbo-etc_defaults.xml").conf + self.imager_args = dict(quantum_efficiency=0.9 * u.electron / u.photon, + pixel_geometry=np.array([1024, 1024]) << u.pix, + pixel_size=6.5 * u.um, read_noise=1.4 * u.electron ** 0.5 / u.pix, + dark_current=0.6 * u.electron / u.pix / u.second, well_capacity=30000 * u.electron, + f_number=13, common_conf=self.config.common, center_offset=np.array([0, 0]) << u.pix, + shape="circle", contained_energy="FWHM", contained_pixels=None) + self.target = FileTarget("data/target/target_demo_1.csv", np.arange(200, 210) << u.nm) + self.zodiac = StrayLight(self.target, "data/straylight/zodiacal_emission_1.csv") + self.imager = Imager(self.zodiac, **self.imager_args) + + def test_getSNR(self): + snr = self.imager.getSNR(0.1 * u.s) + self.assertAlmostEqual(snr.value, 16.991569026382376) + + def test_getExpTime(self): + exp_time = 0.1 * u.s + snr = self.imager.getSNR(exp_time) + exp_time_ = self.imager.getExpTime(snr) + self.assertAlmostEqual(exp_time.value, exp_time_.value) + + def test_getSensitivity(self): + target = BlackBodyTarget(np.arange(200, 210) << u.nm, mag=10 * u.mag) + zodiac = StrayLight(target, "data/straylight/zodiacal_emission_1.csv") + imager = Imager(zodiac, **self.imager_args) + sensitivity = imager.getSensitivity(0.1 * u.s, 10 * u.dimensionless_unscaled, 10 * u.mag) + self.assertAlmostEqual(sensitivity.value, 8.749824107308404)