start a nicegui implementation

This commit is contained in:
Ross
2024-11-26 22:59:32 +00:00
parent 30f8d040c8
commit 242237a0b2
5 changed files with 636 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
import dicognito.anonymizer
import pydicom
from pathlib import Path
import os
class Anonymizer:
def __init__(self, output_dir):
self.output_dir = output_dir
self.anonymizer = dicognito.anonymizer.Anonymizer()
self.i: int = 0
def reset(self):
self.i = 0
self.anonymizer = dicognito.anonymizer.Anonymizer()
def anonymize_file(self, input_file: Path, output_file: Path | None = None, remove_original=True):
with pydicom.dcmread(input_file) as dataset:
if output_file is None:
new_filepath: Path
# Get next available filename
while os.path.exists(
output_file := self.output_dir.joinpath(f"IMG_{self.i:03}.dcm")
):
self.i += 1
self.anonymizer.anonymize(dataset)
dataset.save_as(output_file)
if remove_original:
os.remove(input_file)
return dataset, output_file