Skip to content
Snippets Groups Projects
Commit 804768a0 authored by Mattia Mancini's avatar Mattia Mancini
Browse files

OSB-34: fixing the plot styles

parents 304e2e9b 89a502c3
No related branches found
No related tags found
2 merge requests!89Monitoring maintenance Epic branch merge,!1Resolve OSB-13 "Monitoringmaintenance "
......@@ -7,7 +7,7 @@ from .station import Station
from .fixed_types import STATION_TYPES
MODE_TO_COMPONENT = {
MODE_TO_COMPONENT = {
1: 'LBL',
2: 'LBL',
3: 'LBH',
......@@ -17,6 +17,12 @@ MODE_TO_COMPONENT = {
7: 'HBA'
}
COMPONENT_TO_MODE = {
'LBL': [1, 2],
'LBH': [3, 4],
'HBA': [5, 6, 7]
}
class RTSMObservation(models.Model):
observation_id = models.PositiveIntegerField(default=0)
......
import logging
import os
import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt
import numpy
from celery import shared_task
from django.conf import settings
from celery.signals import task_prerun
from lofar.maintenance.django_postgresql import backend_tasks
from .models.rtsm import RTSMObservation, MODE_TO_COMPONENT, RTSMErrorSummary, RTSMSummaryPlot
from .models.rtsm import MODE_TO_COMPONENT, RTSMErrorSummary, RTSMSummaryPlot
logger = logging.getLogger(__name__)
@shared_task
def greetings(name):
logger.info('greetings from celerity mr/ms %s', name)
class Metadata:
def __init__(self, **kwargs):
for key, value in kwargs.items():
self.__setattr__(key, value)
MODE_STR = {1: 'LBA Low 10..90 MHz',
2: 'LBA Low 30..90',
3: 'LBA High 10..90',
4: 'LBA High 30..90',
5: 'HBA 110..190',
6: 'HBA 170..230',
7: 'HBA 210..250'}
class ObservationMetadata(Metadata):
station_name = 'CSXXXC'
......@@ -31,14 +36,15 @@ class ObservationMetadata(Metadata):
observation_id = 'XXXXXX'
samples = 120
@staticmethod
def __format_datetime(datetime):
return datetime.strftime("%Y-%m-%d %H:%M:%S")
def set_start_time(self, start_time):
self.start_datetime = ObservationMetadata.__format_datetime(start_time)
class ErrorMetadata(Metadata):
error_type = ''
rcu_id = ''
mode = 0
count = ''
start_frequency = 0
stop_frequency = 0
def set_end_time(self, end_time):
self.end_datetime = ObservationMetadata.__format_datetime(end_time)
def set_style():
......@@ -95,7 +101,8 @@ def render_summary_text(error_metadata, observation_metadata):
rendered_text += 'Samples : {count:d}/{samples:d}\n'.format(count=error_metadata.count,
samples=observation_metadata.samples)
rendered_text += 'Mode : {:<25d}'.format(error_metadata.mode)
rendered_text += 'Mode : {:<1d} {:<23s}'.format(error_metadata.mode,
MODE_STR[error_metadata.mode])
rendered_text += 'Badness : {:.2f} %\n'.format(
(100. * error_metadata.count) / observation_metadata.samples)
return rendered_text
......@@ -114,8 +121,6 @@ def produce_plot(observation_metadata,
:param list_good_specta: the average spectrum of the rest of the array
:param path: the path where to store the file
"""
plt.switch_backend('agg')
plt.figure(figsize=(12, 9))
set_style()
......@@ -188,6 +193,9 @@ def generate_summary_plot_for_error(error_summary_id):
observation = error_summary.observation
observation_metadata.observation_id = observation.observation_id
observation_metadata.station_name = observation.station.name
observation_metadata.set_start_time(observation.start_datetime)
observation_metadata.set_end_time(observation.end_datetime)
observation_metadata.samples = observation.samples
errors = observation.errors.filter(mode=error_summary.mode,
rcu=error_summary.rcu,
......@@ -242,5 +250,6 @@ def check_error_summary_plot(error_summary_id):
elif os.path.isdir(full_path):
raise Exception('%s is a directory' % full_path)
else:
logger.debug('summary error %s is complete no need to generate additional plot', summary_plot.pk)
logger.debug('summary error %s is complete no need to generate additional plot',
summary_plot.pk)
return summary_plot.pk
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment