From 1098d76180a7f6ceac8d0d9104174701a0429904 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alja=C5=BE=20Gere=C4=8Dnik?= Date: Fri, 7 Mar 2025 12:17:03 +0100 Subject: [PATCH] Updated dicom metadata and pdf document title --- dicom_sr.py | 16 +++++++++------- dicom_sr_to_pdf.py | 9 +++++++-- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/dicom_sr.py b/dicom_sr.py index 4c7a017..4bed31f 100644 --- a/dicom_sr.py +++ b/dicom_sr.py @@ -95,14 +95,16 @@ def apply(retina_net, dicom, instance_number = 1 ) - sr_object.StudyDate = dicom.StudyDate - sr_object.StudyTime = dicom.StudyTime + sr_object.StudyDate = dicom.get("StudyDate", "") + sr_object.StudyTime = dicom.get("StudyTime", "") + sr_object.StudyDescription = dicom.get("StudyDescription", "") sr_object.SeriesDate = datetime.now().strftime("%Y%m%d") sr_object.SeriesTime = datetime.now().strftime("%H%M%S") - sr_object.PatientID = dicom.PatientID - sr_object.PatientName = dicom.PatientName - sr_object.PatientSex = dicom.PatientSex - sr_object.PatientBirthDate = dicom.PatientBirthDate - sr_object.ReferringPhysicianName = sr_object.ReferringPhysicianName + sr_object.SeriesDescription = "Mammography Structured Report" + sr_object.PatientID = dicom.get("PatientID", "") + sr_object.PatientName = dicom.get("PatientName", "") + sr_object.PatientSex = dicom.get("PatientSex", "") + sr_object.PatientBirthDate = dicom.get("PatientBirthDate", "") + sr_object.ReferringPhysicianName = dicom.get("ReferringPhysicianName", "") return sr_object diff --git a/dicom_sr_to_pdf.py b/dicom_sr_to_pdf.py index 9ad1254..4c9eaaf 100644 --- a/dicom_sr_to_pdf.py +++ b/dicom_sr_to_pdf.py @@ -52,7 +52,10 @@ def overlay_measurements(dcm_image_pixels, measurements, probabilities, image_pa def create_pdf(image_path, measurements, sr, pdf_path): """Creates a PDF with the mammography image and extracted measurements.""" c = canvas.Canvas(pdf_path) - + + # Set PDF metadata + c.setTitle("Mammography Report") + # Set font for the title c.setFont("Helvetica-Bold", 16) @@ -112,6 +115,7 @@ def create_dcm_pdf(sr, pdf_path, instance_uid): ds.StudyInstanceUID = sr.StudyInstanceUID ds.StudyDate = sr.StudyDate ds.StudyTime = sr.StudyTime + ds.StudyDescription = sr.StudyDescription ds.AccessionNumber = sr.AccessionNumber ds.ReferringPhysicianName = sr.ReferringPhysicianName ds.StudyID = sr.StudyID @@ -119,11 +123,12 @@ def create_dcm_pdf(sr, pdf_path, instance_uid): ds.SeriesInstanceUID = generate_uid() ds.SeriesDate = sr.SeriesDate ds.SeriesTime = sr.SeriesTime + ds.SeriesDescription = "Mammography PDF Report" ds.SeriesNumber = 1 ds.Modality = "DOC" ds.Manufacturer = "MammographyAI" - ds.ConversionType = "DI" + ds.ConversionType = "SD" ds.SOPInstanceUID = instance_uid ds.SOPClassUID = EncapsulatedPDFStorage