This commit is contained in:
Ross
2022-04-05 23:03:14 +01:00
parent 1a89bcc5e3
commit 3e325a5406
2 changed files with 20 additions and 2 deletions
+18 -1
View File
@@ -1,4 +1,6 @@
import json import json
import os
import pathlib
from rad.settings import REMOTE_URL from rad.settings import REMOTE_URL
from django.db.models.fields.files import ImageField from django.db.models.fields.files import ImageField
from django.db.models.fields.related import ForeignKey from django.db.models.fields.related import ForeignKey
@@ -9,6 +11,11 @@ import tagulous
import tagulous.models import tagulous.models
import pydicom
import dicognito.anonymizer
from django.core.files.storage import FileSystemStorage from django.core.files.storage import FileSystemStorage
from django.conf import settings from django.conf import settings
from django.utils.html import format_html from django.utils.html import format_html
@@ -45,7 +52,6 @@ from generic.models import (
from easy_thumbnails.files import get_thumbnailer from easy_thumbnails.files import get_thumbnailer
from easy_thumbnails.exceptions import InvalidImageFormatError from easy_thumbnails.exceptions import InvalidImageFormatError
import pydicom
import pydicom.errors import pydicom.errors
import datetime import datetime
from django.utils import timezone from django.utils import timezone
@@ -568,6 +574,17 @@ class Series(models.Model):
return size return size
def anonymise_images(self):
anonymizer = dicognito.anonymizer.Anonymizer()
for series_image in self.images.all():
file_path = pathlib.Path(settings.MEDIA_ROOT).joinpath(series_image.image.name)
with pydicom.dcmread(file_path) as dataset:
anonymizer.anonymize(dataset)
dataset.save_as(file_path+"ANON")
class CaseCollection(models.Model): class CaseCollection(models.Model):
name = models.CharField(max_length=255, unique=True) name = models.CharField(max_length=255, unique=True)
+1
View File
@@ -23,3 +23,4 @@ django-zipview
pymemcache pymemcache
django-autocomplete-light django-autocomplete-light
django-querysetsequence django-querysetsequence
dicognito