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

Merge branch 'SDC-1477-accept-quality-from-workflow' into 'master'

accept quality value from imaging compression pipeline (backward compatible)

See merge request !365
parents b7baf3a1 4faf2c46
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 #91579 passed
...@@ -42,8 +42,18 @@ def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds): ...@@ -42,8 +42,18 @@ def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds):
summary_flavour = get_summary_flavour(task) summary_flavour = get_summary_flavour(task)
if summary_flavour == SummaryFlavour.IMAGING_COMPRESSION.value: 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']) rfi_percent = float(summary['details']['rfi_percent'])
if summary_flavour == SummaryFlavour.DEFAULT.value: if summary_flavour == SummaryFlavour.DEFAULT.value:
# there is 1 key, but it is a filename which not known # there is 1 key, but it is a filename which not known
for key in summary: for key in summary:
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
{% include 'taskdatabase/pagination.html' %} {% include 'taskdatabase/pagination.html' %}
</div> </div>
</div> </div>
<p class="footer"> Version 20 Aug 2024 <p class="footer"> Version 26 Aug 2024
</div> </div>
{% include 'taskdatabase/refresh.html' %} {% include 'taskdatabase/refresh.html' %}
......
...@@ -281,3 +281,34 @@ class TestCalculatedQualities(TestCase): ...@@ -281,3 +281,34 @@ class TestCalculatedQualities(TestCase):
# Assert # Assert
self.assertEqual(remarks, annotation) 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 = { ...@@ -407,3 +407,103 @@ link_target_summary_without_rfi = {
"nameroot": "3c48_LINC_target_summary" "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