From 05fdb9fbf9d95930318e15d21c85d498301f8088 Mon Sep 17 00:00:00 2001 From: Ross Date: Tue, 26 Dec 2023 17:53:58 +0000 Subject: [PATCH] . --- atlas/api.py | 6 ++++++ generic/models.py | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/atlas/api.py b/atlas/api.py index c3dd5157..2a6caef8 100644 --- a/atlas/api.py +++ b/atlas/api.py @@ -66,6 +66,12 @@ def upload_dicom(request, files: List[UploadedFile] = File(...)): return {"uploaded": uploaded, "duplicates": duplicate} +@router.post("/generate_image_hash", auth=django_auth) +def generate_image_hash(request, id:int): + s = SeriesImage.objects.get(pk=id) + s.generate_hashes() + + return {"md5": s.image_md5_hash, "blake3": s.image_blake3_hash, "is_dicom": s.is_dicom} @router.post("/clear_dicoms", auth=django_auth) def clear_dicoms(request): diff --git a/generic/models.py b/generic/models.py index ce484cdf..12c242af 100644 --- a/generic/models.py +++ b/generic/models.py @@ -238,6 +238,18 @@ class SeriesImageBase(models.Model): info = "File is not a dicom." return info + def generate_hashes(self): + image_hash, is_dicom = get_image_hash(self.image, hash_type="md5", direct_pixel_data=False) + + self.is_dicom = is_dicom + self.image_md5_hash = image_hash + + image_blake3_hash, is_dicom = get_image_hash(self.image, hash_type="blake3", direct_pixel_data=True) + self.is_dicom = is_dicom + self.image_blake3_hash = image_blake3_hash + + self.save() + def save(self, *args, **kwargs): """Override save method to add image hash""" if self.image: