From e11a8496f1360c4151db18e885213cf0062f7881 Mon Sep 17 00:00:00 2001 From: Ross Date: Tue, 26 Dec 2023 18:09:19 +0000 Subject: [PATCH] . --- generic/models.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/generic/models.py b/generic/models.py index 12dd2c9d..ba062ab6 100644 --- a/generic/models.py +++ b/generic/models.py @@ -238,32 +238,34 @@ class SeriesImageBase(models.Model): info = "File is not a dicom." return info - def generate_hashes(self): - with pydicom.dcmread(self.image) as ds: - image_hash, is_dicom = get_image_hash(self.image, dataset=ds, hash_type="md5", direct_pixel_data=False) + def generate_md5_hash(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, dataset=ds, hash_type="blake3", direct_pixel_data=True) + self.save() + + def generate_blake3_hash(self): + 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() + self.save() def save(self, *args, **kwargs): """Override save method to add image hash""" if self.image: - with pydicom.dcmread(self.image) as ds: - if not self.image_md5_hash: - image_hash, is_dicom = get_image_hash(self.image, dataset=ds, hash_type="md5", direct_pixel_data=False) + if not self.image_md5_hash: + 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 + self.is_dicom = is_dicom + self.image_md5_hash = image_hash - if not self.image_blake3_hash: - image_blake3_hash, is_dicom = get_image_hash(self.image, dataset=ds, hash_type="blake3", direct_pixel_data=True) - self.is_dicom = is_dicom - self.image_blake3_hash = image_blake3_hash + if not self.image_blake3_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 ## Hack for tests #if image_hash != "12345ABCD":