#!/usr/bin/env python3 from gettext import install from logging import basicConfig, getLogger from warnings import filterwarnings from backscattering_analyzer.acquisition import AcquisitionType from backscattering_analyzer.experiment import Experiment from rich.logging import RichHandler from matplotlib.pyplot import figure, show from numpy import savetxt, array install(__name__) filterwarnings("error") basicConfig( level="INFO", format="%(message)s", datefmt="[%X]", handlers=[RichHandler()], ) logger = getLogger(__name__) date = "2024_08_15" bancs = [ "SNEB", "SWEB", "SDB1", "SDB2", ] experiment_good_time = Experiment( bench=bancs[0], date="2024_06_07", values_file="values-coupling.toml" ) experiment = Experiment( bench=bancs[0], date=date, values_file="values-coupling.toml", ) reference = experiment_good_time.data.reference.sensibility.psd().sqrt() projections = [ experiment.compute_projection( type=AcquisitionType.REFERENCE, ) ] for banc in bancs[1:]: experiment = Experiment( bench=banc, date=date, values_file="values-coupling.toml", ) projections.append( experiment.compute_projection( # type: ignore[reportUnknownVariable] type=AcquisitionType.REFERENCE, ) ) fig = figure() axes = fig.add_subplot(1, 1, 1) # type: ignore[reportUnknownVariable] axes.loglog( # type: ignore[reportUnknownVariable] reference.x, reference.y, ) savetxt( "/home/demagny/data/sensitivity/O4/reference.txt", array([reference.x, reference.y]) ) for index in range(len(bancs)): savetxt( "/home/demagny/data/sensitivity/O4/{}.txt".format(bancs[index]), array([projections[index].x, projections[index].y]), ) axes.loglog( # type: ignore[reportUnknownVariable] projections[index].x, projections[index].y, label=_("{bench} projection").format(bench=bancs[index]), # type: ignore[reportUnknownVariable] ) axes.set_xlabel(_("frequencies")) # type: ignore[reportUnknownVariable] axes.set_ylabel(_("sensibility ($\\frac{1}{\\sqrt{Hz}}$)")) # type: ignore[reportUnknownVariable] axes.set_title( _("Projection pour un interféromètre dans de mauvaise condition (vent fort)") ) # type: ignore[reportUnknownVariable] temp = axes.set_xlim(5, 100) temp = axes.set_ylim(10e-28, 10e-18) temp = axes.legend() # type: ignore[reportUnknownVariable] axes.grid(True, "both") # type: ignore[reportUnknownVariable] show()