Skip to content
Snippets Groups Projects
Commit 4faf2c46 authored by Nico Vermaas's avatar Nico Vermaas
Browse files

accept quality value from imaging compression pipeline (backward compatible)

parent b7baf3a1
No related branches found
No related tags found
2 merge requests!367update unit-tests branch with latest from master,!365accept quality value from imaging compression pipeline (backward compatible)
Pipeline #91578 passed
......@@ -42,8 +42,18 @@ def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds):
summary_flavour = get_summary_flavour(task)
if summary_flavour == SummaryFlavour.IMAGING_COMPRESSION.value:
# shortcut, if quality is already calculated by the workflow then no need to calculate
try:
quality = summary['details']['quality']
if quality in ['poor', 'moderate', 'good']:
return quality
except:
# no quality key found, continue with rfi_percent
pass
rfi_percent = float(summary['details']['rfi_percent'])
if summary_flavour == SummaryFlavour.DEFAULT.value:
# there is 1 key, but it is a filename which not known
for key in summary:
......
......@@ -31,7 +31,7 @@
{% include 'taskdatabase/pagination.html' %}
</div>
</div>
<p class="footer"> Version 20 Aug 2024
<p class="footer"> Version 26 Aug 2024
</div>
{% include 'taskdatabase/refresh.html' %}
......
......@@ -281,3 +281,34 @@ class TestCalculatedQualities(TestCase):
# Assert
self.assertEqual(remarks, annotation)
def test_provided_quality_ok(self):
# Arrange
workflow = Workflow(workflow_uri="workflow_imaging_compression")
workflow.save()
task = Task(sas_id=77777, new_status='stored', outputs=outputs.imaging_compression_with_provided_quality_ok, workflow=workflow)
# Act
task.save()
quality = task.calculated_qualities['per_task']
# Assert
# good is based on quality field
self.assertEqual(quality, "moderate")
def test_provided_quality_not_ok_use_rfi_percent(self):
# Arrange
workflow = Workflow(workflow_uri="workflow_imaging_compression")
workflow.save()
task = Task(sas_id=77777, new_status='stored', outputs=outputs.imaging_compression_with_provided_quality_not_ok,
workflow=workflow)
# Act
task.save()
quality = task.calculated_qualities['per_task']
# Assert
# good is based on rfi_percent
self.assertEqual(quality, "good")
\ No newline at end of file
......@@ -407,3 +407,103 @@ link_target_summary_without_rfi = {
"nameroot": "3c48_LINC_target_summary"
},
}
imaging_compression_with_provided_quality_ok = {
"quality": {
"summary": {
"details": {
"DStDev": {
"CS001": 15372035.9671943,
"UK608": 22423233.01862699
},
"target": [
"3C295"
],
"antennas": [
"CS001HBA0",
"IE613HBA"
],
"pointing": {
"Sun": 98.62325727494583,
"CasA": 63.8887478639975,
"CygA": 57.33860706164162,
"HerA": 57.53230892059052,
"Moon": 82.10124202600636,
"TauA": 93.60818880478796,
"VirA": 44.64319497995252,
"Jupiter": 65.56149628509407,
"elevation_fraction": 1
},
"rfi_percent": 1.7186448587105623,
"quality": "moderate",
"antenna_configuration": "FULL",
"antennas_not_available": [
"LV614"
]
},
"applied_fixes": [],
"rfi_perc_total": "good",
"elevation_score": "good",
"sun_interference": "good",
"unfixable_issues": [],
"moon_interference": "good",
"jupiter_interference": "good",
"degree_incompleteness_array": [],
"array_missing_important_pairs_is": "good",
"array_missing_important_pairs_dutch": "good",
"aggregated_array_data_losses_percentage": "poor",
"array_high_data_loss_on_is_important_pair": "good",
"array_high_data_loss_on_dutch_important_pair": "good"
}
},
}
imaging_compression_with_provided_quality_not_ok = {
"quality": {
"summary": {
"details": {
"DStDev": {
"CS001": 15372035.9671943,
"UK608": 22423233.01862699
},
"target": [
"3C295"
],
"antennas": [
"CS001HBA0",
"IE613HBA"
],
"pointing": {
"Sun": 98.62325727494583,
"CasA": 63.8887478639975,
"CygA": 57.33860706164162,
"HerA": 57.53230892059052,
"Moon": 82.10124202600636,
"TauA": 93.60818880478796,
"VirA": 44.64319497995252,
"Jupiter": 65.56149628509407,
"elevation_fraction": 1
},
"rfi_percent": 1.7186448587105623,
"quality": "no_a_quality",
"antenna_configuration": "FULL",
"antennas_not_available": [
"LV614"
]
},
"applied_fixes": [],
"rfi_perc_total": "good",
"elevation_score": "good",
"sun_interference": "good",
"unfixable_issues": [],
"moon_interference": "good",
"jupiter_interference": "good",
"degree_incompleteness_array": [],
"array_missing_important_pairs_is": "good",
"array_missing_important_pairs_dutch": "good",
"aggregated_array_data_losses_percentage": "poor",
"array_high_data_loss_on_is_important_pair": "good",
"array_high_data_loss_on_dutch_important_pair": "good"
}
},
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment