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