Skip to content

Commit

Permalink
Allow mrd2dicom for datasets without an MRD header
Browse files Browse the repository at this point in the history
  • Loading branch information
kspaceKelvin committed Nov 22, 2024
1 parent b411954 commit 6b78e7c
Showing 1 changed file with 24 additions and 19 deletions.
43 changes: 24 additions & 19 deletions mrd2dicom.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ def main(args):
xml_header = dset.read_xml_header()
xml_header = xml_header.decode("utf-8")
mrdHead = ismrmrd.xsd.CreateFromDocument(xml_header)
else:
mrdHead = ismrmrd.xsd.ismrmrdHeader()

filesWritten = 0
for group in groups:
Expand Down Expand Up @@ -156,25 +158,28 @@ def main(args):
print("Error setting header information from MRD header's measurementInformation section")

try:
# print("---------- Old -------------------------")
# print("mrdHead.acquisitionSystemInformation.systemVendor : %s" % mrdHead.acquisitionSystemInformation.systemVendor )
# print("mrdHead.acquisitionSystemInformation.systemModel : %s" % mrdHead.acquisitionSystemInformation.systemModel )
# print("mrdHead.acquisitionSystemInformation.systemFieldStrength_T: %s" % mrdHead.acquisitionSystemInformation.systemFieldStrength_T )
# print("mrdHead.acquisitionSystemInformation.institutionName : %s" % mrdHead.acquisitionSystemInformation.institutionName )
# print("mrdHead.acquisitionSystemInformation.stationName : %s" % mrdHead.acquisitionSystemInformation.stationName )

if mrdHead.acquisitionSystemInformation.systemVendor is not None: dicomDset.Manufacturer = mrdHead.acquisitionSystemInformation.systemVendor
if mrdHead.acquisitionSystemInformation.systemModel is not None: dicomDset.ManufacturerModelName = mrdHead.acquisitionSystemInformation.systemModel
if mrdHead.acquisitionSystemInformation.systemFieldStrength_T is not None: dicomDset.MagneticFieldStrength = mrdHead.acquisitionSystemInformation.systemFieldStrength_T
if mrdHead.acquisitionSystemInformation.institutionName is not None: dicomDset.InstitutionName = mrdHead.acquisitionSystemInformation.institutionName
if mrdHead.acquisitionSystemInformation.stationName is not None: dicomDset.StationName = mrdHead.acquisitionSystemInformation.stationName

# print("---------- New -------------------------")
# print("mrdHead.acquisitionSystemInformation.systemVendor : %s" % mrdHead.acquisitionSystemInformation.systemVendor )
# print("mrdHead.acquisitionSystemInformation.systemModel : %s" % mrdHead.acquisitionSystemInformation.systemModel )
# print("mrdHead.acquisitionSystemInformation.systemFieldStrength_T: %s" % mrdHead.acquisitionSystemInformation.systemFieldStrength_T )
# print("mrdHead.acquisitionSystemInformation.institutionName : %s" % mrdHead.acquisitionSystemInformation.institutionName )
# print("mrdHead.acquisitionSystemInformation.stationName : %s" % mrdHead.acquisitionSystemInformation.stationName )
if mrdHead.acquisitionSystemInformation is None:
pass
else:
# print("---------- Old -------------------------")
# print("mrdHead.acquisitionSystemInformation.systemVendor : %s" % mrdHead.acquisitionSystemInformation.systemVendor )
# print("mrdHead.acquisitionSystemInformation.systemModel : %s" % mrdHead.acquisitionSystemInformation.systemModel )
# print("mrdHead.acquisitionSystemInformation.systemFieldStrength_T: %s" % mrdHead.acquisitionSystemInformation.systemFieldStrength_T )
# print("mrdHead.acquisitionSystemInformation.institutionName : %s" % mrdHead.acquisitionSystemInformation.institutionName )
# print("mrdHead.acquisitionSystemInformation.stationName : %s" % mrdHead.acquisitionSystemInformation.stationName )

if mrdHead.acquisitionSystemInformation.systemVendor is not None: dicomDset.Manufacturer = mrdHead.acquisitionSystemInformation.systemVendor
if mrdHead.acquisitionSystemInformation.systemModel is not None: dicomDset.ManufacturerModelName = mrdHead.acquisitionSystemInformation.systemModel
if mrdHead.acquisitionSystemInformation.systemFieldStrength_T is not None: dicomDset.MagneticFieldStrength = mrdHead.acquisitionSystemInformation.systemFieldStrength_T
if mrdHead.acquisitionSystemInformation.institutionName is not None: dicomDset.InstitutionName = mrdHead.acquisitionSystemInformation.institutionName
if mrdHead.acquisitionSystemInformation.stationName is not None: dicomDset.StationName = mrdHead.acquisitionSystemInformation.stationName

# print("---------- New -------------------------")
# print("mrdHead.acquisitionSystemInformation.systemVendor : %s" % mrdHead.acquisitionSystemInformation.systemVendor )
# print("mrdHead.acquisitionSystemInformation.systemModel : %s" % mrdHead.acquisitionSystemInformation.systemModel )
# print("mrdHead.acquisitionSystemInformation.systemFieldStrength_T: %s" % mrdHead.acquisitionSystemInformation.systemFieldStrength_T )
# print("mrdHead.acquisitionSystemInformation.institutionName : %s" % mrdHead.acquisitionSystemInformation.institutionName )
# print("mrdHead.acquisitionSystemInformation.stationName : %s" % mrdHead.acquisitionSystemInformation.stationName )
except:
print("Error setting header information from MRD header's acquisitionSystemInformation section")

Expand Down

0 comments on commit 6b78e7c

Please sign in to comment.