This commit is contained in:
Ross
2023-12-26 18:04:25 +00:00
parent 7079be8cc1
commit c933038b83
2 changed files with 9 additions and 8 deletions
+7 -6
View File
@@ -239,14 +239,15 @@ class SeriesImageBase(models.Model):
return info
def generate_hashes(self):
image_hash, is_dicom = get_image_hash(self.image, hash_type="md5", direct_pixel_data=False)
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)
self.is_dicom = is_dicom
self.image_md5_hash = image_hash
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
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
self.save()
+2 -2
View File
@@ -182,13 +182,13 @@ def get_image_dicom_hash(img, dataset=None, hash_type="md5", direct_pixel_data=T
hash = hasher.hexdigest()
return hash
def get_image_hash(img, hash_type="blake3", direct_pixel_data=True) -> (str, bool):
def get_image_hash(img, dataset=None, hash_type="blake3", direct_pixel_data=True) -> (str, bool):
is_dicom = False
# Try and read the file as a dicom
hash = "1234"
try:
# and generate a hash from the pixel data
hash = get_image_dicom_hash(img, hash_type=hash_type, direct_pixel_data=direct_pixel_data)
hash = get_image_dicom_hash(img, dataset=dataset, hash_type=hash_type, direct_pixel_data=direct_pixel_data)
is_dicom = True
# ----