diff --git a/assets/ocr/model/craft_mlt_25k.pth b/assets/ocr/model/craft_mlt_25k.pth deleted file mode 100644 index 7461d59..0000000 Binary files a/assets/ocr/model/craft_mlt_25k.pth and /dev/null differ diff --git a/assets/ocr/model/latin_g2.pth b/assets/ocr/model/latin_g2.pth deleted file mode 100644 index 867295c..0000000 Binary files a/assets/ocr/model/latin_g2.pth and /dev/null differ diff --git a/readme.md b/readme.md index 0c5b3c1..4de102f 100644 --- a/readme.md +++ b/readme.md @@ -28,6 +28,13 @@ Select the correct binary download for your platform from the available [release 5. Logs will be written to `~/Logs/Anonymizer/anonymizer.log` ## Documentation [Help files](https://rsna.github.io/anonymizer) +## Sponsors + +
+ SignPath Logo +

Free code signing on Windows provided by SignPath.io, certificate by SignPath Foundation

+
+ ## Development ### Setup 1. Setup python enviroment (>3.10) which includes Tkinter, recommend using pyenv with MacOS & Linux diff --git a/src/assets/icons/signpath_logo.svg b/src/assets/icons/signpath_logo.svg new file mode 100644 index 0000000..4cdb3e4 --- /dev/null +++ b/src/assets/icons/signpath_logo.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + diff --git a/src/view/contact_sheet.py b/src/view/contact_sheet.py index 9dc2b59..3b55b64 100644 --- a/src/view/contact_sheet.py +++ b/src/view/contact_sheet.py @@ -1,15 +1,14 @@ from pathlib import Path import logging -import pydicom +from pydicom import dcmread from pydicom.pixel_data_handlers.util import apply_voi_lut, apply_modality_lut import numpy as np from PIL import Image -from cv2 import normalize, NORM_MINMAX, equalizeHist +from cv2 import normalize, NORM_MINMAX, CV_8U import customtkinter as ctk from utils.storage import get_dcm_files from utils.translate import _ -from io import BytesIO -import tempfile + logger = logging.getLogger(__name__) @@ -50,7 +49,7 @@ def _load_patient_image_frames(self, patient_ids): # Loop through all dicom files for these patient(s): for dcm_path in dcm_paths: - ds = pydicom.dcmread(dcm_path) + ds = dcmread(dcm_path) pixels = ds.pixel_array pi = ds.get("PhotometricInterpretation", None) @@ -93,7 +92,6 @@ def _load_kaleidoscopes(self, patient_ids): total_thumbnails = 0 - # Process patients sequentially & display each series belonging to patient as a kaleidoscope: for patient_id in patient_ids: patient_path = Path(self._base_dir / patient_id) @@ -109,7 +107,7 @@ def _load_kaleidoscopes(self, patient_ids): all_pixels = [] for dcm_path in dcm_paths: - ds = pydicom.dcmread(dcm_path) + ds = dcmread(dcm_path) pixels = ds.pixel_array pi = ds.get("PhotometricInterpretation", None) if pi is None: @@ -123,7 +121,7 @@ def _load_kaleidoscopes(self, patient_ids): alpha=0, beta=255, norm_type=NORM_MINMAX, - dtype=-1, + dtype=CV_8U, mask=None, ) pixels = pixels.astype(np.uint8) @@ -132,10 +130,12 @@ def _load_kaleidoscopes(self, patient_ids): no_of_frames = ds.get("NumberOfFrames", 1) if no_of_frames == 1: - all_pixels.append(pixels) + all_pixels.append(pixels[..., np.newaxis] if pixels.ndim == 2 else pixels) else: for frame in range(no_of_frames): - all_pixels.append(pixels[frame]) + all_pixels.append( + pixels[frame][..., np.newaxis] if pixels.ndim == 2 else pixels[frame] + ) # Create low, mid, and high contrast images if all_pixels: