try to add priors to ohif

This commit is contained in:
Ross
2024-07-17 22:18:43 +01:00
parent fbdc7c87b4
commit 9fe8c843ff
4 changed files with 35 additions and 5 deletions
+21 -3
View File
@@ -423,7 +423,7 @@ class Case(models.Model, AuthorMixin, QuestionMixin):
examinations = [series.get_examination() for series in self.series.all()] examinations = [series.get_examination() for series in self.series.all()]
return f"{self.pk}:{self.title} {'/'.join([str(c) for c in self.condition.all()])} [{', '.join(examinations)}]" return f"{self.pk}:{self.title} {'/'.join([str(c) for c in self.condition.all()])} [{', '.join(examinations)}]"
def get_case_dicom_json(self, case_title_as_patient_name=True): def get_case_dicom_json(self, case_title_as_patient_name=True, priors=None):
series_json = [] series_json = []
for series in self.series.all(): for series in self.series.all():
series_json.append(series.get_series_dicom_json()) series_json.append(series.get_series_dicom_json())
@@ -432,7 +432,7 @@ class Case(models.Model, AuthorMixin, QuestionMixin):
if case_title_as_patient_name: if case_title_as_patient_name:
patient_name = self.title patient_name = self.title
return { studies_json = {
"studies": [ "studies": [
{ {
"StudyInstanceUID": "1.3.6.1.4.1.14519.5.2.1.6279.6001.298806137288633453246975630178", "StudyInstanceUID": "1.3.6.1.4.1.14519.5.2.1.6279.6001.298806137288633453246975630178",
@@ -446,8 +446,26 @@ class Case(models.Model, AuthorMixin, QuestionMixin):
"series": series_json, "series": series_json,
} }
] ]
} }
pass
if priors is not None:
for prior in priors:
studies_json["studies"].append(
{
"StudyInstanceUID": "1.3.6.1.4.1.14519.5.2.1.6279.6001.298806137288633453246975630177",
"StudyDate": "20000101",
"StudyTime": "",
"PatientName": patient_name,
"PatientID": "LIDC-IDRI-0001",
"AccessionNumber": "",
"PatientAge": "",
"PatientSex": "",
"series": prior.prior_case.get_series_dicom_json(),
}
)
return studies_json
def get_viva_details(self): def get_viva_details(self):
return { return {
@@ -46,14 +46,14 @@
{% if collection.show_ohif_viewer %} {% if collection.show_ohif_viewer %}
<div> <div>
<iframe id="viewer" style="width: 100%; height: 100%; border: none; padding: 0px;" src="/ohif/viewer/dicomjson?url=https://www.penracourses.org.uk{% url 'atlas:case_dicom_json' case.pk %}"></iframe> <iframe id="viewer" style="width: 100%; height: 100%; border: none; padding: 0px;" src="/ohif/viewer/dicomjson?url=https://www.penracourses.org.uk{% url 'atlas:collection_case_dicom_json' collection.pk case.pk %}"></iframe>
</div> </div>
{% endif %} {% endif %}
{% if collection.show_ohif_viewer_link %} {% if collection.show_ohif_viewer_link %}
<div> <div>
<a target="_blank" href="/ohif/viewer/dicomjson?url=https://www.penracourses.org.uk{% url 'atlas:case_dicom_json' case.pk %}">View case in OHIF</a> <a target="_blank" href="/ohif/viewer/dicomjson?url=https://www.penracourses.org.uk{% url 'atlas:collection_case_dicom_json' collection.pk case.pk %}">View case in OHIF</a>
</div> </div>
{% endif %} {% endif %}
+5
View File
@@ -121,6 +121,11 @@ urlpatterns = [
views.collection_case_priors, views.collection_case_priors,
name="collection_case_priors", name="collection_case_priors",
), ),
path(
"collection/<int:exam_id>/case/<int:case_id>/dicom_json",
views.collection_case_dicom_json,
name="collection_case_dicom_json",
),
path( path(
"collection/<int:exam_id>/question_schemas", "collection/<int:exam_id>/question_schemas",
views.collection_question_schemas, views.collection_question_schemas,
+7
View File
@@ -2326,6 +2326,13 @@ def use_dates_as_descriptions(request, pk):
return HttpResponse("Done") return HttpResponse("Done")
def collection_case_dicom_json(request, exam_id, case_id):
case_detail = CaseDetail.objects.get(case=case_id, collection=exam_id)
priors = case_detail.caseprior_set.all()
return JsonResponse(case_detail.case.get_case_dicom_json(priors=priors))
def case_dicom_json(request, pk): def case_dicom_json(request, pk):
case = get_object_or_404(Case, pk=pk) case = get_object_or_404(Case, pk=pk)