This commit is contained in:
Ross
2023-12-26 18:09:19 +00:00
parent 21e44dcaff
commit e11a8496f1
+16 -14
View File
@@ -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":