Added dicom preamble to dicom pdf.
This commit is contained in:
parent
6addcaa168
commit
57e16bbc43
@ -1,6 +1,6 @@
|
||||
import pydicom
|
||||
from pydicom.dataset import Dataset
|
||||
from pydicom.dataset import FileMetaDataset
|
||||
from pydicom.dataset import Dataset, FileMetaDataset
|
||||
from pydicom.sequence import Sequence
|
||||
from pydicom.uid import MediaStorageDirectoryStorage, EncapsulatedPDFStorage, generate_uid
|
||||
import matplotlib
|
||||
matplotlib.use("Agg") # Use non-GUI backend to avoid Tkinter issues
|
||||
@ -138,24 +138,30 @@ def create_dcm_pdf(sr, pdf_path, instance_uid):
|
||||
ds.AcquisitionDateTime = ""
|
||||
ds.InstanceNumber = 1
|
||||
ds.BurnedInAnnotation = "YES"
|
||||
ds.DocumentTitle = ""
|
||||
ds.ConceptNameCodeSequence = Sequence([])
|
||||
ds.DocumentTitle = "Mammography Report"
|
||||
ds.EncapsulatedDocument = pdf_data
|
||||
ds.MIMETypeOfEncapsulatedDocument = "application/pdf"
|
||||
|
||||
# Create a FileMetaDataset for DICOM file meta information
|
||||
file_meta = FileMetaDataset()
|
||||
file_meta.FileMetaInformationVersion = b'\x00\x01'
|
||||
file_meta.MediaStorageSOPClassUID = EncapsulatedPDFStorage
|
||||
file_meta.MediaStorageSOPInstanceUID = ds.SOPInstanceUID
|
||||
file_meta.TransferSyntaxUID = pydicom.uid.ImplicitVRLittleEndian
|
||||
file_meta.ImplementationClassUID = pydicom.uid.PYDICOM_IMPLEMENTATION_UID
|
||||
file_meta.ImplementationVersionName = "pydicom-2.4.4"
|
||||
file_meta.FileMetaInformationGroupLength = 0
|
||||
|
||||
# Assign the file meta information to the dataset
|
||||
ds.file_meta = file_meta
|
||||
|
||||
# Ensure preamble and "DICM" prefix is included
|
||||
ds.is_implicit_VR = True # Set to explicit VR
|
||||
ds.is_little_endian = True # Set to little endian
|
||||
|
||||
# Ensure preamble and "DICM" prefix is included
|
||||
ds.preamble = b'\x00' * 128 # 128 bytes of zero padding
|
||||
|
||||
return ds
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user