diff --git a/cara/apps/calculator/report_generator.py b/cara/apps/calculator/report_generator.py index e3113dcb..789d8865 100644 --- a/cara/apps/calculator/report_generator.py +++ b/cara/apps/calculator/report_generator.py @@ -256,6 +256,10 @@ def manufacture_alternative_scenarios(form: FormData) -> typing.Dict[str, mc.Exp without_mask_or_vent = dataclass_utils.replace(without_mask, ventilation_type='no_ventilation') scenarios['No ventilation with Type I masks'] = with_mask_no_vent.build_mc_model() scenarios['Neither ventilation nor masks'] = without_mask_or_vent.build_mc_model() + + else: + no_short_range_alternative = dataclass_utils.replace(form, short_range_interactions=[]) + scenarios['Base scenario without short-range interactions'] = no_short_range_alternative.build_mc_model() return scenarios diff --git a/cara/apps/calculator/static/js/report.js b/cara/apps/calculator/static/js/report.js index 56ba86bc..bd41d380 100644 --- a/cara/apps/calculator/static/js/report.js +++ b/cara/apps/calculator/static/js/report.js @@ -103,7 +103,7 @@ function draw_plot(svg_id) { sr_unique_activities = [...new Set(short_range_expirations)] if (show_sr_legend) { - // Long range cumulative dose line legend - line and area + // Long-range cumulative dose line legend - line and area var legendLongCumulativeIcon = vis.append('line') .style("stroke-dasharray", "5 5") //dashed array for line .attr('stroke-width', '2') @@ -113,18 +113,18 @@ function draw_plot(svg_id) { .text('Long-range cumulative dose') .style('font-size', '15px') .attr('opacity', 0); - // Short range area icon + // Short-range area icon var legendShortRangeAreaIcon = {}; sr_unique_activities.forEach((b, index) => { legendShortRangeAreaIcon[index] = vis.append('rect') .attr('width', 20) .attr('height', 15); - // Short range area icon colors + // Short-range area icon colors if (sr_unique_activities[index] == 'Breathing') legendShortRangeAreaIcon[index].attr('fill', 'red').attr('fill-opacity', '0.2'); else if (sr_unique_activities[index] == 'Speaking') legendShortRangeAreaIcon[index].attr('fill', 'green').attr('fill-opacity', '0.1'); else legendShortRangeAreaIcon[index].attr('fill', 'blue').attr('fill-opacity', '0.1'); }); - // Short range area text + // Short-range area text var legendShortRangeText = {}; sr_unique_activities.forEach((b, index) => { legendShortRangeText[index] = vis.append('text') @@ -432,9 +432,9 @@ function draw_plot(svg_id) { if (show_sr_legend) { sr_unique_activities.forEach((b, index) => { legendShortRangeAreaIcon[index].attr('x', legend_x_start) - .attr('y', graph_height + 4 * size - 15/2); + .attr('y', graph_height + (4 + index) * size - 15/2); legendShortRangeText[index].attr('x', legend_x_start + space_between_text_icon) - .attr('y', graph_height + 4 * size + text_height); + .attr('y', graph_height + (4 + index) * size + text_height); }); legendLongCumulativeIcon.attr("x1", legend_x_start) .attr("x2", legend_x_start + 20) @@ -541,7 +541,7 @@ function draw_plot(svg_id) { // Generate the alternative scenarios plot using d3 library. // 'alternative_scenarios' is a dictionary with all the alternative scenarios // 'times' is a list of times for all the scenarios -// The method is prepared to consider short range interactions if needed. +// The method is prepared to consider short-range interactions if needed. function draw_alternative_scenarios_plot(concentration_plot_svg_id, alternative_plot_svg_id) { // H:M format var time_format = d3.timeFormat('%H:%M'); diff --git a/cara/apps/static/images/long_range_anim.png b/cara/apps/static/images/long_range_anim.png new file mode 100644 index 00000000..15e9f937 Binary files /dev/null and b/cara/apps/static/images/long_range_anim.png differ diff --git a/cara/apps/static/images/short_range_anim.png b/cara/apps/static/images/short_range_anim.png new file mode 100644 index 00000000..b1ab82a9 Binary files /dev/null and b/cara/apps/static/images/short_range_anim.png differ diff --git a/cara/apps/templates/base/calculator.report.html.j2 b/cara/apps/templates/base/calculator.report.html.j2 index 45a8ff0d..38413851 100644 --- a/cara/apps/templates/base/calculator.report.html.j2 +++ b/cara/apps/templates/base/calculator.report.html.j2 @@ -46,6 +46,13 @@
+
+ * The results are based on the parameters and assumptions published in the CARA publication: doi.org/10.1098/rsfs.2021.0076.
* The results are based on the parameters and assumptions published in the CARA publication: doi.org/10.1098/rsfs.2021.0076.