Add caching and group detection for series images in series viewer

This commit is contained in:
Ross
2026-05-21 22:24:44 +01:00
parent f85aefe5c7
commit 734460777b
3 changed files with 103 additions and 10 deletions
+30 -5
View File
@@ -32,10 +32,10 @@
<div class="card">
<div class="card-body p-2">
{% with image_url_array_and_count=series.get_image_url_array_and_count %}
<div id="root"
class="dicom-viewer-root w-100 viewer-frame-standard series-viewer-resizable"
style="height: clamp(640px, 78vh, 1200px); min-height: 640px; resize: vertical; overflow: auto;"
data-images="{{ image_url_array_and_count.0 }}"
<div id="root"
class="dicom-viewer-root w-100 viewer-frame-standard series-viewer-resizable"
style="height: clamp(640px, 78vh, 1200px); min-height: 640px; resize: vertical; overflow: auto;"
data-images="{{ image_url_array_and_count.0 }}"
data-auto-cache-stack=false>
</div>
{% endwith %}
@@ -187,6 +187,31 @@
</div>
</div>
<div class="card mb-3">
<div class="card-header">Detected Groups</div>
<div class="card-body">
{% if detected_series_groups %}
<div class="d-flex flex-column gap-2">
{% for group in detected_series_groups %}
<div class="border rounded p-2">
<div class="fw-semibold small">{{ group.label|default:"Series group" }}</div>
<div class="small text-muted">{{ group.imageIds|length }} images</div>
{% if group.groupValues %}
<div class="small mt-1">
{% for key, value in group.groupValues.items %}
<span class="badge bg-secondary-subtle text-body border me-1 mb-1">{{ key }}={{ value }}</span>
{% endfor %}
</div>
{% endif %}
</div>
{% endfor %}
</div>
{% else %}
<p class="text-muted small mb-0">No detected grouping values for this series.</p>
{% endif %}
</div>
</div>
<div class="card mb-3">
<div class="card-header">Actions</div>
<div class="card-body d-flex flex-column gap-2">
@@ -268,7 +293,7 @@
<div class="card-body p-2 d-flex flex-column gap-2">
<div id="truncate_viewer" class="dicom-viewer-root w-100"
style="height: 460px; min-height: 360px; resize: vertical; overflow: auto; background: #222;"
data-images="{{ image_url_array_and_count.0 }}"
data-images="{{ image_url_array_and_count.0 }}"
data-auto-cache-stack="false">
</div>
<div class="small text-muted">Downsample compare preview loads into this viewer as stack options.</div>