Based on a user bug report, I updated the dicom file plugin. The patch is included below. I haven't done any contribution to gimp for ages, so I wonder if I can just commit it on my own? If not, should I just attach the patch file to a bug report? Is it ok if I create a version to the gimp-2-8 branch as well, so that it will reach the user quicker? Regards, Dov diff --git a/plug-ins/common/file-dicom.c b/plug-ins/common/file-dicom.c index de11b9c..d30cd34 100644 --- a/plug-ins/common/file-dicom.c +++ b/plug-ins/common/file-dicom.c @@ -18,7 +18,7 @@ /* * The dicom reading and writing code was written from scratch - * by Dov Grobgeld. (dov@xxxxxxxxxxxxxxxxxxxx). + * by Dov Grobgeld. (dov.grobgeld@xxxxxxxxx). */ #include "config.h" @@ -1218,12 +1218,17 @@ dicom_ensure_required_elements_present (GSList *elements, /* 0002, 0001 - File Meta Information Version */ { 0x0002, 0x0001, "OB", 2, (guint8 *) "\0\1" }, /* 0002, 0010 - Transfer syntax uid */ - { 0x0002, 0x0001, "UI", + { 0x0002, 0x0010, "UI", strlen ("1.2.840.10008.1.2.1"), (guint8 *) "1.2.840.10008.1.2.1"}, /* 0002, 0013 - Implementation version name */ { 0x0002, 0x0013, "SH", strlen ("GIMP Dicom Plugin 1.0"), (guint8 *) "GIMP Dicom Plugin 1.0" }, /* Identifying group */ + /* ImageType */ + { 0x0008, 0x0008, "CS", + strlen ("ORIGINAL\\PRIMARY"), (guint8 *) "ORIGINAL\\PRIMARY" }, + { 0x0008, 0x0016, "UI", + strlen ("1.2.840.10008.5.1.4.1.1.7"), (guint8 *) "1.2.840.10008.5.1.4.1.1.7" }, /* Study date */ { 0x0008, 0x0020, "DA", strlen (today_string), (guint8 *) today_string }, @@ -1236,14 +1241,23 @@ dicom_ensure_required_elements_present (GSList *elements, /* Content Date */ { 0x0008, 0x0023, "DA", strlen (today_string), (guint8 *) today_string}, - /* Modality - I have to add something.. */ + /* Content Time */ + { 0x0008, 0x0030, "TM", + strlen ("000000.000000"), (guint8 *) "000000.000000"}, + /* AccessionNumber */ + { 0x0008, 0x0050, "SH", strlen (""), (guint8 *) "" }, + /* Modality */ { 0x0008, 0x0060, "CS", strlen ("MR"), (guint8 *) "MR" }, + /* ConversionType */ + { 0x0008, 0x0064, "CS", strlen ("WSD"), (guint8 *) "WSD" }, + /* ReferringPhysiciansName */ + { 0x0008, 0x0090, "PN", strlen (""), (guint8 *) "" }, /* Patient group */ /* Patient name */ { 0x0010, 0x0010, "PN", strlen ("DOE^WILBER"), (guint8 *) "DOE^WILBER" }, /* Patient ID */ - { 0x0010, 0x0020, "CS", + { 0x0010, 0x0020, "LO", strlen ("314159265"), (guint8 *) "314159265" }, /* Patient Birth date */ { 0x0010, 0x0030, "DA", @@ -1251,6 +1265,12 @@ dicom_ensure_required_elements_present (GSList *elements, /* Patient sex */ { 0x0010, 0x0040, "CS", strlen (""), (guint8 *) "" /* unknown */ }, /* Relationship group */ + /* StudyId */ + { 0x0020, 0x0010, "IS", strlen ("1"), (guint8 *) "1" }, + /* SeriesNumber */ + { 0x0020, 0x0011, "IS", strlen ("1"), (guint8 *) "1" }, + /* AcquisitionNumber */ + { 0x0020, 0x0012, "IS", strlen ("1"), (guint8 *) "1" }, /* Instance number */ { 0x0020, 0x0013, "IS", strlen ("1"), (guint8 *) "1" }, @@ -1576,7 +1596,7 @@ add_tag_pointer (GByteArray *group_stream, */ if (strstr ("UI|OB", value_rep) != NULL) { - g_byte_array_append (group_stream, (guint8 *) 0x0000, 1); + g_byte_array_append (group_stream, (guint8 *) "\0", 1); } else { _______________________________________________ gimp-developer-list mailing list gimp-developer-list@xxxxxxxxx https://mail.gnome.org/mailman/listinfo/gimp-developer-list