From a99750e5791c6f75ef4b71180ab49580da00aeb1 Mon Sep 17 00:00:00 2001 From: Ross Date: Tue, 22 Mar 2022 22:33:34 +0000 Subject: [PATCH] . --- .../templates/atlas/collection_case_view.html | 15 +- .../atlas/collection_series_viewer.html | 172 ++++++++++++++++++ atlas/views.py | 6 +- 3 files changed, 188 insertions(+), 5 deletions(-) create mode 100755 atlas/templates/atlas/collection_series_viewer.html diff --git a/atlas/templates/atlas/collection_case_view.html b/atlas/templates/atlas/collection_case_view.html index a4c6ef56..775fe520 100644 --- a/atlas/templates/atlas/collection_case_view.html +++ b/atlas/templates/atlas/collection_case_view.html @@ -3,8 +3,8 @@ {% block content %}

Case {{case_number|add:1}}

-
Series: - {% for series in case.series.all %} +
+ {% for series in series_list %} Series {{ forloop.counter }}: @@ -17,15 +17,24 @@ {% endfor %} - Add new series
+ {% for series in series_list %} +
+
+
+ +
+ + {% endfor %} +
{% if previous %} Previous {% endif %} {% if next %} Next {% endif %} +

Return to collection {% endblock %} \ No newline at end of file diff --git a/atlas/templates/atlas/collection_series_viewer.html b/atlas/templates/atlas/collection_series_viewer.html new file mode 100755 index 00000000..4c4b8ebf --- /dev/null +++ b/atlas/templates/atlas/collection_series_viewer.html @@ -0,0 +1,172 @@ +
{{ series.modality}}, {{ series.examination }}, {{ series.plane }}, {{ series.contrast }}
+ + +
+
+ +{% if editing_finding < 1 %} + +{% endif %} + +
+
+
+ {% csrf_token %} + {{series_finding_form.management_form}} +
+
Description: {{ series_finding_form.description }}
+
Findings: {{ series_finding_form.findings }}
+
Structures: {{ series_finding_form.structures }}
+
+ + +
+
+
+ +
+ Findings + + {% for finding in series.findings.all %} +
+ + + Finding(s): {% for f in finding.findings.all %}{{f.get_link}}{% endfor %}
+ Structure(s): {% for s in finding.structures.all %}{{s.get_link}}{% endfor %}
+ Description: {{finding.description}}
+
+ Edit + Delete +
+ + {% endfor %} +
+ + +
Author: {{ series.get_author_display }}
+
+ Image info +
+ Order dicoms + by slice location + Order dicoms by instance number + Order dicoms by SeriesInstanceUID + Order by uploaded filename +
+ {% for image in series.images.all %} + {{image.image.url}}, pos: {{image.position}}, {{image.upload_filename}} [{{image.image.size|filesizeformat}}]
+ {% comment %} {{image.get_dicom_info|safe}}
{% endcomment %} + + {% endfor %} + +

Total image size: {{series.get_total_image_size|filesizeformat}}

+

Download images

+
+ + + \ No newline at end of file diff --git a/atlas/views.py b/atlas/views.py index f40b0036..40e6f934 100755 --- a/atlas/views.py +++ b/atlas/views.py @@ -907,11 +907,13 @@ def collection_detail_view(request, pk): def collection_case_view(request, pk, case_number): collection = get_object_or_404(CaseCollection, pk=pk) - cases = collection.cases.all() + cases = collection.cases.all().prefetch_related() case = cases[case_number] + series_list = case.series.all().prefetch_related("images", "examination", "plane") + previous = case_number > 0 next = case_number < (len(cases) - 1) - return render(request, "atlas/collection_case_view.html", {"collection": collection, "case": case, "case_number": case_number, "previous": previous, "next": next}) \ No newline at end of file + return render(request, "atlas/collection_case_view.html", {"collection": collection, "case": case, "series_list": series_list, "case_number": case_number, "previous": previous, "next": next}) \ No newline at end of file